题解 | #Redraiment的走法#

Redraiment的走法

https://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa

这题关于动态规划,还是比较经典的
本质是求最长上升子串
#include<stdio.h>
#include<string.h>

int main(void)
{
    int num;
    scanf("%d",&num);
    int a[200]={0};
    int step[200]={0};
    for(int i=0;i<num;i++)
    {
        scanf("%d",&a[i]);
    }
    for(int i=0;i<num;i++)
    {
        step[i]=1;
    }
    for(int i=1;i<num;i++)
    {
        int max=0;
        for(int j=0;j<i;j++)
        {
            if(a[i]>a[j])
            {
                max=(step[j]>max)?step[j]:max;
            }
        }
        step[i]=max+1;
    }
    int maxcnt=0;
    for(int i=0;i<num;i++)
    {
        maxcnt=(step[i]>maxcnt)?step[i]:maxcnt;
    }
    printf("%d",maxcnt);
    return 0;
}


全部评论

相关推荐

爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务