最长连续递增序列

QUESTION:

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

示例 1:

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

输入: [2,2,2,2,2] 输出: 1 解释: 最长连续递增序列是 [2], 长度为1。 注意:数组长度不会超过10000。

EXPLANATION:

看到题目,首先想到的是一个for循环然后往后寻找nums[i]和nums[i-1],但是发现这样会重复很多的循环,于是想到了采用双指针的形式,这样就能确保只循环了一次。思路:
1.确定left和right
2.循环找到不是递增的位置
3.算出left和right之间的距离,与result进行对比
4.将right赋值给left,同时将right++进入下一次循环

SOLUTION:

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        int result = nums.length==0?0:1;
        int left = 0,right = left+1;
        while (right<nums.length){
            while (right<nums.length && nums[right]>nums[right-1]) right++;
            result = Math.max(result,right-left);
            left = right;
            right++;
        }
        return result;
    }
}