LeetCode300 最長上升子序列2018_1125
阿新 • • 發佈:2018-12-31
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
vector<int> dp(nums.size());
if(nums.empty()) return 0;
dp[0]=1;
int ans=1;
for(int i=1;i<nums.size();i++){
int max=0;
for(int j=0;j<i;j++){
if (nums[i]>nums[j]){
if(dp[j]>max){
max=dp[j];
}
}
}
dp[i]=max+1;
// if(i==nums.size()-1) return dp[i];
// 後面的dp不一定比前面的dp大
// 2,18.5,19,18 dp[3]==2,dp[2]==3
if (dp[i]>ans) ans=dp[i];
}
return ans;
}
};