顺丰最长子序列

class Solution():
    def fun(self, line, n):
        if n < 1:
            return 0
        if n == 1:
            return 1
        dp = [0] * n
        size = 0
        for x in line:
            i, j = 0, size
            while i != j:
                m = (i + j) // 2
                if dp[m] <= x:
                    i = m + 1
                else:
                    j = m
            dp[i] = x
            size = max(i+1, size)
        return size

n = int(input().strip())
line = input().strip().split()
line = [int(x) for x in line]
so = Solution()
print(so.fun(line, n))

#笔试题目##顺丰科技#
全部评论
求第一题的解法
点赞 回复 分享
发布于 2019-08-29 21:32
感觉这个题是最长递增子序列,但是老是只能通过9%
点赞 回复 分享
发布于 2019-08-29 21:29
这是leetcode上的题解?
点赞 回复 分享
发布于 2019-08-29 21:27

相关推荐

不愿透露姓名的神秘牛友
07-03 14:32
点赞 评论 收藏
分享
码农索隆:单休一个月少休息4天,一年就是48天,平时节假日,别人3天假期,单休的两天
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

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