zoukankan      html  css  js  c++  java
  • 求最长递增子序列的长度

    #include<stdio.h>      
    #define N 10001
    int main()
    {
    int a[N],i,j,k,n;
    while(scanf("%d",&n)!=EOF&&n)
    {
    for(i=0;i<n;i++)
    scanf("%d",a+i);

    j=0;
    for(i=1;i<n;i++)
    if(a[i]<a[j])//如果是最长非递减子序列a[i]<=a[j]
    a[++j]=a[i];
    else
    for(k=0;k<=i;k++)
    if(a[k]<=a[i]){ a[k]=a[i]; break; } //如果是最长非递减子序列a[k]<a[i]
    printf("%d/n",++j);

    }
    return 0;
    }
    #include<stdio.h>
    #define N 10001
    int main()
    {
    int a[N],i,j,k,n;
    while(scanf("%d",&n)!=EOF&&n)
    {
    for(i=0;i<n;i++)
    scanf("%d",a+i);

    j=0;
    for(i=1;i<n;i++)
    if(a[i]<a[j])//如果是最长非递减子序列a[i]<=a[j]
    a[++j]=a[i];
    else
    for(k=0;k<=i;k++)
    if(a[k]<=a[i]){ a[k]=a[i]; break; } //如果是最长非递减子序列a[k]<a[i]
    printf("%d/n",++j);

    }
    return 0;
    }


    分享到:
  • 相关阅读:
    OC准备知识
    文件操作
    双向链表
    单链表(Single Linked List)
    动态分配内存补充 realloc
    git心得一
    git的工作原理
    git:团队开发的流程
    git操作流程
    js:有关属性
  • 原文地址:https://www.cnblogs.com/qiufeihai/p/2329740.html
Copyright © 2011-2022 走看看