1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Solution { public: int lengthOfLIS(vector<int>& nums) { constexpr int MAX = 2501; int dp[MAX]; for (int i = 0; i < nums.size(); i++) dp[i] = 1; for (int i = 0; i < nums.size(); i++) for (int j = 0; j < i; j++) if (nums[i] > nums[j]) dp[i] = max(dp[i], dp[j] + 1); int ans = 1; for (int i = 0; i < nums.size(); i++) ans = max(ans, dp[i]); return ans; } }; |