43. Russian Doll Envelopes
Input: envelopes = [[5,4],[6,4],[6,7],[2,3]]
Output: 3
Explanation: The maximum number of envelopes you can Russian doll is 3 ([2,3] => [5,4] => [6,7]).Input: envelopes = [[1,1],[1,1],[1,1]]
Output: 1Solution: (LIS)
class Solution
{
public:
int maxEnvelopes(vector<vector<int>> &envelopes)
{
int n = envelopes.size();
int res = 1;
sort(envelopes.begin(), envelopes.end());
vector<int> dp(n, 1);
for (int i = 1; i < n; i++)
{
for (int j = 0; j < i; j++)
{
if (envelopes[j][0] < envelopes[i][0] && envelopes[j][1] < envelopes[i][1])
{
dp[i] = max(dp[i], dp[j] + 1);
}
}
res = max(res, dp[i]);
}
return res;
}
};Solution: (Sorting)
Last updated