2023.3.29 练习携程一轮3.7笔试题(牛客找的,附本人部分题解)+3.29二轮笔试题(亲自考的)
一轮3.7笔试题
Q1
数组后一个数与前一个数差值的绝对值小于1则为稳定序列,求一个数组的最长稳定子序列长度。
测试用例
测试用例:
input:
5
2 4 2 3 2
output:
3
题解
public class LongestSubsequence {
//T1.数组后一个数与前一个数差值的绝对值小于1则为稳定序列,求一个数组的最长稳定子序列长度。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int n = scanner.nextInt();
int[] nums = new int[n];
System.out.println("请输入数组元素(用空格分隔):");
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
// 数组输入完毕,可以进行相关操作
LongestSubsequence lg = new LongestSubsequence();
System.out.println("output:");
System.out.println(lg.longestSubsequence(nums));
}
public int longestSubsequence(int[] nums){
//用动态规划来做
//1.定义dp[i]为以i为下标元素结尾的最长稳定子序列长度</