当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

练题计划 · 算法机考精选 15 题

最长递增子序列

中等lengthOfLIS()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n log n),空间 O(n)

最长递增子序列

给你一个整数数组 nums,找到其中最长严格递增子序列的长度。

子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如 [3, 6, 2, 7] 是数组 [0, 3, 1, 6, 2, 2, 7] 的子序列。

约定

  • 1 <= nums.length <= 2500
  • -10^4 <= nums[i] <= 10^4

输入

  • nums:整数数组

输出

最长严格递增子序列的长度。

示例一

输入:

nums = [10, 9, 2, 5, 3, 7, 101, 18]

输出:

4

解释:最长递增子序列是 [2, 3, 7, 101],长度为 4。

示例二

输入:

nums = [0, 1, 0, 3, 2, 3]

输出:

4

复杂度要求

  • 时间复杂度:O(n log n)
  • 空间复杂度:O(n)
Loading...

输入

[[10,9,2,5,3,7,101,18]]

预期输出

4
自定义用例