顺丰最长子序列

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

相关推荐

_mos_:我以为手抄报简历就已经很顶了,没想到还有表格简历
点赞 评论 收藏
分享
Rena1ssanc...:对的,要是面评没太烂,勤更新简历等捞就行了,腾讯可以无限复活
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
评论
2
6
分享

创作者周榜

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