标签:
Give an integer array,find the longest increasing continuous subsequence in this array.
An increasing continuous subsequence:
For [5, 4, 2, 1, 3]
, the LICS is [5, 4, 2, 1]
, return 4
.
For [5, 1, 2, 3, 4]
, the LICS is [1, 2, 3, 4]
, return 4
.
O(n) time and O(1) extra space.
public class Solution { /** * @param A an array of Integer * @return an integer */ public int longestIncreasingContinuousSubsequence(int[] A) { // Write your code here if(A == null || A.length == 0) return 0; if(A.length == 1) return 1; int result = 1; int count = 1; for(int i = 1; i < A.length; i++){ if(A[i] > A[i - 1]) count++; else count = 1; if(count > result) result = count; } count = 1; for(int i = A.length - 2; i >= 0; i--){ if(A[i] > A[i + 1]) count++; else count = 1; if(count > result) result = count; } return result; } }
lintcode-easy-Longest Increasing Continuous Subsequence
标签:
原文地址:http://www.cnblogs.com/goblinengineer/p/5218944.html