Longest Continuous Increasing Subsequence LT674

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.

Idea 1. Dynamic programming, Let len[i] repents the length of the continuous increasing subsequence which ends at nums[i],

len[i] = len[i-1] + 1 if nums[i-1] < nums[i]

len[i] = 1 otherwise

Time complexity: O(N)

Space complexity: O(1)

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        int len = 0;
        int maxLen = 0;
        for(int i = 0; i < nums.length; ++i) {
            if(i > 0 && nums[i-1] < nums[i]) {
                len += 1;
            }
            else {
                len = 1;
            }
            maxLen = Math.max(maxLen, len);

        }

        return maxLen;
    }
}

Idea 1.b mark the anchor to store the start of the continuous increasing subsequence,

class Solution {
    public int findLengthOfLCIS(int[] nums) {
        int anchor = 0;
        int maxLen = 0;
        for(int i = 0; i < nums.length; ++i) {
            if(i > 0 && nums[i-1] >= nums[i]) {
                anchor = i;
            }
            maxLen = Math.max(maxLen, i - anchor + 1);
        }

        return maxLen;
    }
} 

原文地址:https://www.cnblogs.com/taste-it-own-it-love-it/p/10836936.html

时间: 2024-10-10 01:57:48

Longest Continuous Increasing Subsequence LT674的相关文章

674. Longest Continuous Increasing Subsequence

Given an unsorted array of integers, find the length of longest continuous increasing subsequence. 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] i

674. Longest Continuous Increasing Subsequence 最长连续增长的子序列

Given an unsorted array of integers, find the length of longest continuous increasing subsequence. 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] i

[LeetCode] Longest Continuous Increasing Subsequence 最长连续递增序列

Given an unsorted array of integers, find the length of longest continuous increasing subsequence. 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] i

674. Longest Continuous Increasing Subsequence最长连续递增子数组

[抄题]: 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 t

LeetCode 674. 最长连续递增序列(Longest Continuous Increasing Subsequence) 18

674. 最长连续递增序列 674. Longest Continuous Increasing Subsequence 题目描述 给定一个未经排序的整型数组,找到最长且连续的递增序列. Given an unsorted array of integers, find the length of longest continuous increasing subsequence (subarray). 每日一算法2019/5/21Day 18LeetCode674. Longest Conti

LeetCode 674. Longest Continuous Increasing Subsequence最长连续递增序列 (C++/Java)

题目: 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 tho

[LC] 674. Longest Continuous Increasing Subsequence

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

Longest Continuous Increasing Subsequence II

Description Given an integer matrix. Find the longest increasing continuous subsequence in this matrix and return the length of it. The longest increasing continuous subsequence here can start at any position and go up/down/left/right. Example Exampl

397. Longest Continuous Increasing Subsequence

Description Give an integer array,find the longest increasing continuous subsequence in this array. An increasing continuous subsequence: Can be from right to left or from left to right. Indices of the integers in the subsequence should be continuous