考察知识点:双指针
题目分析:
从0开始,不断指向下一个更大的牛的编号。当右边的编号比左边小时停止。记录这段长度值,并维护最大的长度。
之后以这个不满足条件的结点开始,找对应的一段递增序列的长,维护最大长度即可。
所用编程语言:C++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param ids int整型vector
* @param n int整型
* @return int整型
*/
int longestConsecutive(vector<int>& ids, int n) {
// write code here
int res = 0;
for (int i = 0; i < n; i++) {
int len = 1;
int j = i + 1;
while (j < n && ids[j] >= ids[j - 1]) {
j++;
len++;
}
i = j - 1;
res = max(res, len);
}
return res;
}
};

京公网安备 11010502036488号