def inc_max(nums): q = [] dp=[] for n in nums: idx = bisect.bisect_left(q, n) dp.append(idx+1) if idx == len(q): q.append(n) else: q[idx] = n return dp 这个是不是好理解一些 新建一个数组,然后第一个数先放进去,然后第二个数和第一个数比较,如果说大于第一个数,那么就接在他后面,如果小于第一个数,那么就替换,一般的,如果有i个数,那么每进来一个新的数,都要用二分查找法来得知要替换在哪个位置的数。
点赞

相关推荐

程序员鼠鼠_春招版:都很烂大街,rpc也基本没人问,考研吧,不然就包装一段实习再去
点赞 评论 收藏
分享
牛客网
牛客企业服务