欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

习题3.4 最长连续递增子序列 (20分)

程序员文章站 2022-06-08 08:12:24
...

习题3.4 最长连续递增子序列 (20分)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
    int n,i=0,ch,flag=0;
    scanf("%d",&n);
    int a[n];
    int mark[n];//记录从耨个位置开始递增的长度
    memset(mark,0,sizeof(mark));
    scanf("%d",&a[0]);
    for(i=1;i<n;i++){
        scanf("%d",&a[i]);
        if(a[i]>a[i-1]){
            mark[flag]++;
        }else{
            flag = i;
        }
    }
    int max=mark[0],f=0;
    for(i=1;i<n;i++){
        if(max<mark[i]){
            max = mark[i];
            f = i;
        }
    }
    int count = 0;
    for(i=f;i<f+max+1;i++){
        if(count==0){
        printf("%d",a[i]);
        count++;
        }else{
            printf(" %d",a[i]);
        }
    }
}
相关标签: 算法