LeetCode674. 最长连续递增序列

迈不过友情╰ 2022-05-21 12:42 297阅读 0赞

给定一个未经排序的整数数组,找到最长且连续的的递增序列。

示例 1:

  1. 输入: [1,3,5,4,7]
  2. 输出: 3
  3. 解释: 最长连续递增序列是 [1,3,5], 长度为3
  4. 尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为57在原数组里被4隔开。

示例 2:

  1. 输入: [2,2,2,2,2]
  2. 输出: 1
  3. 解释: 最长连续递增序列是 [2], 长度为1

注意:数组长度不会超过10000。


思路:遍历数组,如果a[i]<a[i+1],递增子序列数加1,否则重新计数,找出最大的递增子序列数即可。

  1. class Solution {
  2. public int findLengthOfLCIS(int[] nums) {
  3. if(null==nums||nums.length==0) {
  4. return 0;
  5. }
  6. int max=1; //最长递增子序列数量
  7. int tempCount=1;//临时存放每一段递增子序列数量
  8. for(int i=0;i<nums.length-1;i++) {
  9. if(nums[i]<nums[i+1]) {
  10. tempCount++;
  11. if(tempCount>max) {
  12. max=tempCount;
  13. }
  14. }else {
  15. tempCount=1; //重新计数
  16. }
  17. }
  18. return max;
  19. }
  20. }

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读