链接地址:https://leetcode-cn.com/problems/longest-continuous-increasing-subsequence/
一般这种找最大问题,都会遇到一个暂时计数器和一个当前最大计数器,若暂时计数器大于当前最大计数器则,更新最大计数器,暂时计数器重置为1.
如果需要输出这个最长且连续的递增序列,最重要的就是要有两个变量可以保存该序列的起始角标和结束角标。(maxL,maxR)
class Solution674 {
public static void main(String[] args){
int[] nums={2,2,2,2};
int len=findLengthOfLCIS(nums);
System.out.println(len);
}
public static int findLengthOfLCIS(int[] nums) {
if(nums.length==0||nums.length==1){
return nums.length;
}
int maxL=0;
int maxR=0;
int l=0;
int r=0;
int maxCount=1;
int count=1;
for(int i=0;i<nums.length-1;i++){
if(nums[i+1]>nums[i]){
count++;
r=i+1;
}else{
count=1;
l=i+1;
r=i+1;
}
if(count>maxCount){
maxCount=count;
maxL=l;
maxR=r;
}
}
System.out.println(maxL+"~"+maxR);
return maxCount;
}
}