第13周 Longest Continuous Increasing Subsequence

来源:互联网 发布:it监控 编辑:程序博客网 时间:2024/05/21 09:17

Longest Continuous Increasing Subsequence

Leetcode algorithms problem 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 [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.

  • 思路

    遍历数组,一直增大就继续计数,不然归1重头计数,将较大值赋输出

代码

class Solution {public:    int findLengthOfLCIS(vector<int>& nums) {           if(nums.size() == 0) return 0;        if(nums.size() == 1) return 1;        int count = 1;        int temp = 1;        for(int i = 1; i < nums.size(); i++){            if(nums[i] > nums[i-1]){                temp++;                count = max(count, temp);            }else{                temp = 1;            }        }        return count;    }};

时间复杂度: O(n)
空间复杂度: O(1)