首页 > 试题广场 >

最长和谐连续子序列

[编程题]最长和谐连续子序列
  • 热度指数:1744 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
和谐连续序列是指一个连续序列中元素的最大值和最小值之间的差值正好是1。
现在,给定一个整数数组,你需要在所有可能的连续子序列中找到最长的和谐连续子序列的长度。

输入描述:
一行整数数组,由空格分割


输出描述:
一行一个数字表示答案,即最长和谐连续子序列的长度
示例1

输入

1 3 2 2 5 2 3 7

输出

3

说明

最长的连续和谐子序列是:[3,2,2]
示例2

输入

1 3 2 2 1 1 2 3

输出

5

说明

最长的连续和谐子序列是:[2,2,1,1,2]
头像 大厂算法岗必拿下
发表于 2021-09-16 05:47:17
滑动窗口。 #include<bits/stdc++.h> using namespace std; int getmax(list<int> a){ int max_ =0; for(auto it = a.begin(); it!=a.end();i 展开全文
头像 小牛冲冲冲jiang
发表于 2021-09-16 07:18:18
对不起 我直接暴力了 O(n^3) 如果用滑动窗口感觉可以到 O(n^2) import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(String[] a 展开全文