Maximum Length of Pair Chain LeetCode solution in C++

1
class Solution {
2
public:
3
int findLongestChain(vector<vector<int>> &arr) {
4
if (arr.size() == 1) {
5
return 1;
6
}
7
vector<pair<int, int>> v;
8
for (int i = 0; i < arr.size(); i++) {
9
v.push_back({arr[i][0], arr[i][1]});
10
}
11
sort(v.begin(), v.end());
12

13
vector<int> dp(v.size(), 0);
14
int ans = INT_MIN;
15
dp[0] = 1;
16
for (int i = 1; i < v.size(); i++) {
17
int temp = 0;
18
for (int j = i - 1; j >= 0; j--) {
19
if (v[j].second < v[i].first) {
20
temp = max(temp, dp[j]);
21
}
22
}
23
dp[i] = 1 + temp;
24
ans = max(ans, dp[i]);
25
}
26
return ans;
27
}
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0