俄罗斯套娃信封问题
class Solution {
public:
int maxEnvelopes(vector<vector<int>>& envelopes) {
int n = envelopes.size(), maxLen = 1;
vector<int> dp(n + 1);
sort(envelopes.begin(), envelopes.end());
for (int i = 0; i < n; ++i) {
dp[i] = 1;
for (int j = 0; j < i; ++j) {
if (envelopes[i][0] > envelopes[j][0] &&
envelopes[i][1] > envelopes[j][1]) {
dp[i] = max(dp[i], dp[j] + 1);
if (dp[i] > maxLen) {
maxLen = dp[i];
}
}
}
}
return maxLen;
}
};