题解 | #Redraiment的走法#

Redraiment的走法

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

此解法应优于已经发布的动态规划解法。

n = int(input())
a = list(map(int, input().split()))

res = [max(a)+1]
for new in a:
    n = len(res)
    if new < res[0]:
        res[0] = new
    else:
        for i, y in zip(reversed(range(n)), reversed(res)):
            if new > y:
                if i == n-1:
                    res.append(new)
                else:
                    res[i+1] = min(res[i+1], new)
                break
print(len(res))

全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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