Formatted question description: https://leetcode.ca/all/674.html
674. Longest Continuous Increasing Subsequence (Easy)
Given an unsorted array of integers, find the length of longest continuous
increasing subsequence (subarray).
Example 1:
Input: [1,3,5,4,7] Output: 3 Explanation: The longest continuous increasing subsequence is [1,3,5], its length is 3. Even though [1,3,5,7] is also an increasing subsequence, it's not a continuous one where 5 and 7 are separated by 4.
Example 2:
Input: [2,2,2,2,2] Output: 1 Explanation: The longest continuous increasing subsequence is [2], its length is 1.
Note: Length of the array will not exceed 10,000.
Companies:
Facebook
Related Topics:
Array
Similar Questions:
Solution 1.
// OJ: https://leetcode.com/problems/longestcontinuousincreasingsubsequence/
// Time: O(N)
// Space: O(1)
class Solution {
public:
int findLengthOfLCIS(vector<int>& nums) {
int ans = 0, len = 0, prev = INT_MAX;
for (int n : nums) {
if (n > prev) ++len;
else len = 1;
prev = n;
ans = max(ans, len);
}
return ans;
}
};
Java

class Solution { public int findLengthOfLCIS(int[] nums) { if (nums == null  nums.length == 0) return 0; int maxLength = 1; int increaseLength = 1; int length = nums.length; for (int i = 1; i < length; i++) { if (nums[i] > nums[i  1]) increaseLength++; else { maxLength = Math.max(maxLength, increaseLength); increaseLength = 1; } } maxLength = Math.max(maxLength, increaseLength); return maxLength; } }

// OJ: https://leetcode.com/problems/longestcontinuousincreasingsubsequence/ // Time: O(N) // Space: O(1) class Solution { public: int findLengthOfLCIS(vector<int>& nums) { int ans = 0, len = 0, prev = INT_MAX; for (int n : nums) { if (n > prev) ++len; else len = 1; prev = n; ans = max(ans, len); } return ans; } };

class Solution(object): def findLengthOfLCIS(self, nums): """ :type nums: List[int] :rtype: int """ if not nums: return 0 N = len(nums) dp = [1] * N for i in range(1, N): if nums[i] > nums[i  1]: dp[i] = dp[i  1] + 1 return max(dp)