标签:long first number you Plan static exp eve sort
Problem:
You are given n pairs of numbers. In every pair, the first number is always smaller than the second number.
Now, we define a pair (c, d) can follow another pair (a, b) if and only if b < c. Chain of pairs can be formed in this fashion.
Given a set of pairs, find the length longest chain which can be formed. You needn‘t use up all the given pairs. You can select pairs in any order.
Example 1:
Input: [[1,2], [2,3], [3,4]]
Output: 2
Explanation: The longest chain is [1,2] -> [3,4]
Note:
思路:
Solution (C++):
int findLongestChain(vector<vector<int>>& pairs) {
if (pairs.empty() || pairs[0].empty()) return 0;
sort(pairs.begin(), pairs.end(), cmp);
int count = 1;
vector<int> tmp = pairs[0];
for (int i = 1; i < pairs.size(); ++i) {
if (pairs[i][0] > tmp[1]) {
tmp = pairs[i];
++count;
}
}
return count;
}
static bool cmp(vector<int>& a, vector<int>& b) {
return a[1] < b[1];
}
性能:
Runtime: 80 ms??Memory Usage: 15.1 MB
思路:
Solution (C++):
性能:
Runtime: ms??Memory Usage: MB
646. Maximum Length of Pair Chain
标签:long first number you Plan static exp eve sort
原文地址:https://www.cnblogs.com/dysjtu1995/p/12724126.html