7-3 最长连续递增子序列 (10分

不要忘记处理最长连续子序列在数组尾部的情况

#include<iostream>
using namespace std;
int a[100010];
int main()
{
    int n,i=0,j=0,ansi=0,ansj=0;
    cin >> n;
    for(int k=0;k<n;k++){
        cin >> a[k];
        if(k>0){
            if(a[k]>a[k-1]) j++;
            else{
                if(j-i>ansj-ansi) ansj=j,ansi=i;
                i=j=k;
            }
        }
    }
    if(j-i>ansj-ansi) ansj=j,ansi=i;
    for(int k=ansi;k<=ansj;k++){
        cout << a[k];
        if(k<ansj) cout << " ";
    }
    return 0;
}

发布了10 篇原创文章 · 获赞 0 · 访问量 100

猜你喜欢

转载自blog.csdn.net/m0_46383408/article/details/104894004
今日推荐