最长递增子序列
中等华为动态规划
题目描述
给你一个整数数组 nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。要求实现时间复杂度为 O(n log n) 的算法。使用贪心加二分查找的方法:维护一个 tails 数组,tails[i] 表示长度为 i+1 的递增子序列的最小末尾元素。
示例
输入:
nums = [10, 9, 2, 5, 3, 7, 101, 18]输出:
4solution.ts
输出结果
点击「运行代码」按钮查看结果...