dp
class Solution {
public:
int findLongestChain(vector<vector<int>>& pairs) {
int f[1010],res=0;
memset(f,0,sizeof f);
sort(pairs.begin(),pairs.end());
for(int i=0;i<pairs.size();i++){
f[i]=1;
for(int j=0;j<i;j++)
if(pairs[j][1]<pairs[i][0])
f[i]=max(f[i],f[j]+1);
res=max(f[i],res);
}
return res;
}
};
贪心
class Solution {
public:
int findLongestChain(vector<vector<int>>& pairs) {
sort(pairs.begin(),pairs.end(),[](vector<int> a,vector<int> b){
return a[1]<b[1];
});
if(pairs.empty()) return 0;
int res=1,last=pairs[0][1];
for(int i=1;i<pairs.size();i++){
if(pairs[i][0]>last){
last=pairs[i][1];
res++;
}
}
return res;
}
};