30. Maximum Length of Pair Chain
Input: [[1,2], [2,3], [3,4]]
Output: 2
Explanation: The longest chain is [1,2] -> [3,4]Solution: (DP)
class Solution
{
public:
int findLongestChain(vector<vector<int>> &pairs)
{
sort(pairs.begin(), pairs.end());
int n = pairs.size();
vector<int> dp(n, 0);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (pairs[i][1] < pairs[j][0])
{
dp[j] = max(dp[j], dp[i] + 1);
}
}
}
int mx = 0;
for (int i = 0; i < n; i++)
{
if (dp[i] > mx)
{
mx = dp[i];
}
}
return mx + 1;
}
};Last updated