最长上升连续子序列 系统管理员 2021-03-28 14:43 487阅读 0赞 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。) ##### 注意事项 ##### time **样例** 给定 `[5, 4, 2, 1, 3]`, 其最长上升连续子序列(LICS)为 `[5, 4, 2, 1]`, 返回 `4`. 给定 `[5, 1, 2, 3, 4]`, 其最长上升连续子序列(LICS)为 `[1, 2, 3, 4]`, 返回 `4`. 分别用两个量来统计升序和降序的当前连续数列长度 int longestIncreasingContinuousSubsequence(vector<int> &A) { // write your code here if(A.size()<2){ return A.size(); } int in=1,de=1; int maxlen=0; for(int i=1;i<A.size();i++){ in = (A[i]>A[i-1])?in+1:1; de = (A[i]<A[i-1])?de+1:1; maxlen = max(maxlen,max(in,de)); } return maxlen; }
还没有评论,来说两句吧...