2021-08-30
leetcode300题,最长上升子序列DP+二分解法
题目描述
300.最长上升子序列
算法流程
维护一个数组cell,其中cell[k]表示长度为k+1的子序列的最小的尾部元素值,如数组[2,5,3],遍历到5时,长度为2的子序列尾部元素值为5,当遍历到3时,应更新尾部元素值为3,因为尾部值越好,在后续数组中找到大于该值的元素可能性越大。
具体思路:初始化cell的全部元素为0,长度为nums的长度。遍历nums,使用二分法查找cell中第一个大于num的元素,将该元素更新为num,如果cell中没有
原创
2021-08-30 09:27:49 ·
75 阅读 ·
0 评论