题解 | #Redraiment的走法#

Redraiment的走法

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

实际上就是求:最长递增子序列

可参考300. 最长递增子序列,动规(+二分):

input()
nums = list(map(int, input().split()))
tails, res = [0] * len(nums), 0
for num in nums:
    i, j = 0, res
    while i < j:
        m = (i+j)//2
        if tails[m] < num: i = m + 1
        else: j = m
    tails[i] = num
    if res == j: res += 1
print(res)
全部评论
https://leetcode-cn.com/problems/longest-increasing-subsequence/
点赞 回复 分享
发布于 2022-04-06 14:04

相关推荐

评论
点赞
收藏
分享

创作者周榜

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