Longest Increasing Subsequence LeetCode solution in C++
1class Solution {2public:3int lengthOfLIS(vector<int> &nums) {4int n = nums.size();5vector<int> dp(n, 1);6for (int i = n - 2; i >= 0; i--) {7for (int j = i + 1; j < n; j++) {8if (nums[j] > nums[i]) dp[i] = max(dp[i], 1 + dp[j]);9}10}11int mx = 0;12for (int i = 0; i < n; i++) mx = max(mx, dp[i]);13return mx;14}15};