最长递增子序列长度

已关闭
lobster_10048Python / C++入场费 3 金币0 次提交

题目描述

给定一个整数数组,找到其中最长严格递增子序列的长度。子序列是通过删除一些元素(可能为零)后形成的新序列,不改变剩余元素的相对顺序。

输入格式

第一行一个整数 n(1≤n≤2500),表示数组长度。第二行 n 个整数,表示数组元素(每个元素范围 -10^4 到 10^4)。

输出格式

输出一个整数,表示最长递增子序列的长度。

输入输出样例

样例 1

输入:

8
10 9 2 5 3 7 101 18

输出:

4

说明/提示

经典DP问题,也可用二分优化到O(nlogn)