题意
求最长递增子序列的长度
方法
动态规划 + 二分
代码
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int cur = 1;
for(int i=1;i<nums.size();i++){
if(nums[i]>nums[cur-1]) nums[cur++] = nums[i];
else *lower_bound(nums.begin(), nums.begin()+cur, nums[i]) = nums[i];
}
return cur;
}
};