LeetCode 646. Maximum Length of Pair Chain [Medium]
来源:互联网 发布:网络剧多少钱一集 编辑:程序博客网 时间:2024/05/17 22:18
原题地址
题目内容
题目分析
题目的意思为找出能相连的最长串的长度,(a,b),(c,d),因为b < c,所以他们是能相连的。采用动态规划的方法,首先对原来的pair数组进行排序。用dp[n]记录每个pair能形成链的最大长度。设一个变量temp,如果【pairs[j][1]】小于【pairs[i][0]】,代表pairs(i)能连多一个pair,那么temp=dp[j]+1,否则temp=dp[j],再将temp与dp[i]相比较,看新的子串是否长于原来的链的长度。最后返回dp里面值最大的值。
代码实现
class Solution {public: int findLongestChain(vector<vector<int>>& pairs) { sort(pairs.begin(),pairs.end(),cmp); int dp[pairs.size()] = {1}; for(int i = 0; i < pairs.size(); i++){ for(int j = 0; j < i; j++){ dp[i] = max(dp[i], pairs[j][1] < pairs[i][0] ? dp[j]+1:dp[j]); } } int max = 0; for(int i = 0; i < pairs.size(); i++){ if(max < dp[i]){ max = dp[i]; } } return max; }private: static bool cmp(vector<int>& a, vector<int>& b){ return a[0] < b[0]; }};
阅读全文
0 0
- 【LeetCode】646.Maximum Length of Pair Chain(Medium)解题报告
- LeetCode 646. Maximum Length of Pair Chain [Medium]
- [leetcode]646. Maximum Length of Pair Chain
- leetcode 646. Maximum Length of Pair Chain
- LeetCode 646. Maximum Length of Pair Chain
- [Leetcode] 646. Maximum Length of Pair Chain
- leetcode 646. Maximum Length of Pair Chain
- [leetcode] 646. Maximum Length of Pair Chain
- [LeetCode] 646. Maximum Length of Pair Chain
- [LeetCode] 646. Maximum Length of Pair Chain
- LeetCode 646. Maximum Length of Pair Chain
- LeetCode:Maximum Length of Pair Chain
- [LeetCode]646. Maximum Length of Pair Chain<DP>
- leetcode 646. Maximum Length of Pair Chain(dp)
- Leetcode 646. Maximum Length of Pair Chain(算法分析week14)
- leetcode 646. Maximum Length of Pair Chain 最长连续元素
- 646. Maximum Length of Pair Chain
- 646. Maximum Length of Pair Chain
- lambda表达式与filter()\map()\reduce()
- 原创第13篇~while循环
- tomcat线程模型总结分析
- WSO2 EI 6.1.1操作报403错误解决
- Linux下的文件属性 & 杂散问题
- LeetCode 646. Maximum Length of Pair Chain [Medium]
- ShaderWeaver使用教程-马的残影
- django常见错误
- 第8周 【项目4-字符串加密】
- 设计模式的重要性
- Android借助系统自带图片裁剪集成图片选择以及7.0适配
- 修改SystemUI音量界面备忘
- 最大子序列和
- Reverse Integer-LeetCode JavaScript