674. Longest Continuous Increasing Subsequence

Given an unsorted array of integers nums, return the length of the longest continuous increasing subsequence (i.e. subarray). The subsequence must be strictly increasing.

A continuous increasing subsequence is defined by two indices l and r (l < r) such that it is [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] and for each l <= i < rnums[i] < nums[i + 1].

 

Example 1:

Input: nums = [1,3,5,4,7]
Output: 3
Explanation: The longest continuous increasing subsequence is [1,3,5] with length 3.
Even though [1,3,5,7] is an increasing subsequence, it is not continuous as elements 5 and 7 are separated by element
4.

Example 2:

Input: nums = [2,2,2,2,2]
Output: 1
Explanation: The longest continuous increasing subsequence is [2] with length 1. Note that it must be strictly
increasing.

由于subarray is continous, 所以这题还是很简单的。
 1 class Solution {
 2     public int findLengthOfLCIS(int[] nums) {
 3         int res = 0, cur = 0;
 4         
 5         for (int i = 0; i < nums.length; i++) {
 6             if (i == 0 || nums[i] > nums[i-1]) {
 7                 cur++;
 8             } else {
 9                 res = Math.max(res, cur);
10                 cur = 1;
11             }
12         }
13         return Math.max(res, cur);
14     }
15 }

 

posted @ 2021-03-14 12:43  北叶青藤  阅读(59)  评论(0编辑  收藏  举报