class Solution {
public:
int findLongestChain(vector<vector<int>>& pairs) {
map<int,vector<int>> hash;
int size=(int)pairs.size();
for(int i=0;i<=size-1;i++)
hash[pairs[i][0]].push_back(pairs[i][1]);
vector<vector<int>> p;
for(auto n:hash)
{
for(int i=0;i<=n.second.size()-1;i++)
{
vector<int> k;
k.push_back(n.first);
k.push_back(n.second[i]);
p.push_back(k);
}
} //前面到这里都是为了排序,不知道怎么办只能这样了,滑稽
if(!size)
return 0;
int res[size];
res[0]=1;
for(int i=1;i<=size-1;i++)
{
int result=1;
for(int j=0;j<=i-1;j++)
{
if(p[j][1]<p[i][0])
result= result>res[j]+1? result:res[j]+1;
}
res[i]=result;
}
return res[size-1];
}
};