LintCode Longest Increasing Continuous Subsequence
2017-02-16 11:32
555 查看
原题链接在这里:http://www.lintcode.com/en/problem/longest-increasing-continuous-subsequence/
题目:
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.
Notice
O(n) time and O(1) extra space.
Example
For
For
题解:
从左向右 若连续递增 就更新 len, 再从右向左 若连续递增 就更新res.
Time Complexity: O(n). Space: O(1).
AC Java:
跟上Longest Increasing Continuous subsequence II.
题目:
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.
Notice
O(n) time and O(1) extra space.
Example
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.
题解:
从左向右 若连续递增 就更新 len, 再从右向左 若连续递增 就更新res.
Time Complexity: O(n). Space: O(1).
AC Java:
1 public class Solution { 2 public int longestIncreasingContinuousSubsequence(int[] A) { 3 if(A == null || A.length == 0){ 4 return 0; 5 } 6 7 int res = 1; 8 int len = 1; 9 for(int i = 1; i<A.length; i++){ 10 if(A[i] > A[i-1]){ 11 len++; 12 }else{ 13 len = 1; 14 } 15 res = Math.max(res, len); 16 } 17 18 len = 1; 19 for(int i = A.length-2; i>=0; i--){ 20 if(A[i] > A[i+1]){ 21 len++; 22 }else{ 23 len = 1; 24 } 25 res = Math.max(res, len); 26 } 27 28 return res; 29 } 30 }
跟上Longest Increasing Continuous subsequence II.
相关文章推荐
- lintcode longest-increasing-continuous-subsequence 最长上升连续子序列
- LintCode: Longest Increasing Continuous subsequence
- LintCode "Longest Increasing Continuous subsequence II" !!
- LintCode Longest Increasing Continuous subsequence II
- lintcode:Longest Increasing Continuous subsequence II
- lintcode-easy-Longest Increasing Continuous Subsequence
- LintCode "Longest Increasing Subsequence"
- 【菜鸟的leetcode之旅】674. Longest Continuous Increasing Subsequence
- Longest Continuous Increasing Subsequence
- 674-Longest Continuous Increasing Subsequence
- [LintCode] Longest Increasing Continuous Subsequence 最长连续递增子序列
- LeetCode-Easy-Java-Longest Continuous Increasing Subsequence
- [LintCode] Longest Increasing Continuous subsequence II
- 674. Longest Continuous Increasing Subsequence
- 397. Longest Increasing Continuous Subsequence
- [LintCode] Longest Increasing Continuous subsequence
- Leetcode665 (Array) Non-decreasing Array +Leetcode674 Longest Continuous Increasing Subsequence
- <easy>LeetCode Problem -- 674. Longest Continuous Increasing Subsequence
- LintCode Longest Common Subsequence
- Leetcode 674 Longest Continuous Increasing Subsequence