LeetCode题目记录-646. 最长数对链(C++代码实现)
Posted wyy_persist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode题目记录-646. 最长数对链(C++代码实现)相关的知识,希望对你有一定的参考价值。
题目链接:https://leetcode-cn.com/problems/maximum-length-of-pair-chain/
题目要求:
题目思路:
思路:
1.将数组按照数对的第二个元素升序排序;
2.然后定义两个指针l 和 r,使用while循环,判断r指针对应数对的第一元素是否大于l指针对应数对的第二个元素,如果是的话,更新l = r,然后令r++;res++;
3.最后返回res即可;
C++代码实现:
class Solution
public:
static bool cmp(vector<int>& pair1,vector<int>& pair2)
return pair1[1] < pair2[1];
int findLongestChain(vector<vector<int>>& pairs)
int n = pairs.size();
//先按照数对的第二个元素进行排序
sort(pairs.begin(),pairs.end(),cmp);
int res = 1;
//for循环遍历
int l = 0;
int r = l + 1;
while(r < n && l < r)
if(pairs[l][1] < pairs[r][0])
res ++;
l = r;
r++;
return res;
;
AC截图:
本题解仅作为个人复习查看使用,并无他用。
以上是关于LeetCode题目记录-646. 最长数对链(C++代码实现)的主要内容,如果未能解决你的问题,请参考以下文章