题解 | #牧场里的编号顺序#

牧场里的编号顺序

https://www.nowcoder.com/practice/6741b77f486a493da5258738323ddd3e

知识点

双指针

思路

我们可以假设连续递增的子序列左端点为i,右端点为j。对于ij,假设一开始位于下标为0处,不断右移j,若ids[j]>ids[j-1]则当前序列仍然为合法连续递增序列,否则需要更新i到j处,进行新的判断。

代码c++

#include <algorithm>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param ids int整型vector 
     * @param n int整型 
     * @return int整型
     */
    int longestConsecutive(vector<int>& ids, int n) {
        // write code here
      int i=0;int ans=1;
      for(int j=1;j<n;j++)
      {
        if(ids[j]>ids[j-1])
        {
            ans=max(ans,j-i+1);
        }
        else {
          i=j;
        }
      }
      return ans; 
    }
};
全部评论

相关推荐

10-29 18:20
济南大学 Java
用微笑面对困难:他不是人事吗,怎么净特么不干人事
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务