Skip to content

Commit 98cb0bd

Browse files
committed
Time: 567 ms (13.59%), Space: 296.7 MB (6.49%) - LeetHub
1 parent 5eb4701 commit 98cb0bd

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
class Solution {
2+
public:
3+
4+
int solve(vector<int>&nums , int idx , int prev , vector<vector<int>>&dp){
5+
6+
if(idx >= nums.size()){
7+
return 0;
8+
}
9+
10+
if(dp[prev+1][idx] != -1){
11+
return dp[prev+1][idx];
12+
}
13+
14+
int left = 0, right = 0;
15+
if(prev == -1 || nums[prev] < nums[idx]){
16+
left = 1 + solve(nums , idx + 1 , idx , dp);
17+
}
18+
19+
right = solve(nums , idx + 1, prev , dp);
20+
21+
return dp[prev+1][idx] = max(left , right);
22+
23+
}
24+
int lengthOfLIS(vector<int>& nums) {
25+
int size = nums.size();
26+
vector<vector<int>>dp(size + 1 , vector<int>(size + 1 , -1));
27+
return solve(nums , 0 , -1 , dp);
28+
}
29+
};

0 commit comments

Comments
 (0)