LIS
转换为最长公共子序列问题的方法暂且不表, 下面用一个表举例说明dp解法.
假设存在一个序列 A[8] = {2, 1, 5, 3, 6, 4, 8, 9, 7}, 可以看出来它的一个LIS是 {1, 3, 4, 8, 9}
其长度为5。
dp数组就是存储对应长度LIS的最小末尾
leetcode 354
这道题用了一点小技巧, 先按宽度递增和高度递减排了序, 然后加了二分查找, 复杂度O(NlogN)
1 | class Solution(object): |
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章