dp 最长上升子序列

题目

#include<iostream>
using namespace std;
const   int N=1010;
int a[N],f[N]; int main()
{
   
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    cin>>a[i];
    for(int i=0;i<n;i++)
    {
   
        f[i]=1;//初始条件
        for(int j=0;j<i;j++)
        {
   if(a[i]>a[j])
        f[i]=max(f[i],f[j]+1);//将f[i]分为前一个下标为j的子问题,求最大值
        }
    }
    int res=0;
    for(int i=0;i<n;i++)
    res=max(res,f[i]);
    printf("%d\n",res);
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
07-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务