Content
Solution
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int ans = 0, len = nums.size();
int *dp = new int[len];
dp[0] = 1;
for(int i =0 ; i< len; i++){
int maxInt = dp[0];
for(int j =0 ; j< i; j++ ){
if(nums[i] > nums[j])
maxInt = max(maxInt, dp[j] + 1);
}
dp[i] = maxInt;
}
return *max_element(dp, dp + len);
}
};
// for (auto i : dp){
// cout<< i << ", "
// }
// compiler error
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int ans = 0, len = nums.size();
int *dp = new int[len];
for(int i =0 ; i< len; i++){
dp[i] = 1;
for(int j =0 ; j< i; j++ ){
if(nums[i] > nums[j])
dp[i] = max(dp[i], dp[j] + 1);
}
}
return *max_element(dp, dp + len);
}
};
class Solution {
public:
int lengthOfLIS(vector<int>& nums) {
int n = (int)nums.size();
if (n == 0) {
return 0;
}
vector<int> dp(n, 0);
for (int i = 0; i < n; ++i) {
dp[i] = 1;
for (int j = 0; j < i; ++j) {
if (nums[j] < nums[i]) {
dp[i] = max(dp[i], dp[j] + 1);
}
}
}
return *max_element(dp.begin(), dp.end());
}
};
- 时空复杂度: $$O(n^{2})$$