当前位置: 首页 > news >正文

黄岛网站建设设计公司衡阳seo

黄岛网站建设设计公司,衡阳seo,wordpress安装空白,暴雪战网客户端下载646. 最长数对链(中等) 思路 这道题和 300. 最长递增子序列 类似,我们可以定义 dp 数组,其中 dp[i] 表示以 i 结尾的子序列的性质。在处理好每个位置后,统计一遍各个位置的结果即可得到题目要求的结果。 但是题目中强…

646. 最长数对链(中等)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

这道题和 300. 最长递增子序列 类似,我们可以定义 dp 数组,其中 dp[i] 表示以 i 结尾的子序列的性质。在处理好每个位置后,统计一遍各个位置的结果即可得到题目要求的结果。

但是题目中强调了 “任何顺序选择其中的一些数对来构造”,因此我们可以先按照 righti 对数对进行升序排序,这样能够快速判断相邻数对是否构成数对链。

状态定义

对于这道题,我们可以定义 dp[i] 为以 i 结尾的最长数对链的长度

状态转移方程

对于每个位置 i ,如果其之前的位置 j 所对应的数对和位置 i 的数对可以构成数对链,那么我们就可以获得一个以 pairs[i] 结尾、长度为 dp[j] + 1 的更长的数对链。

初始化

对于pairs[0] ,它可以自己形成长度为 1 的数对链,所以 dp[0] = 1;

最终的返回结果

由于 dp[i] 存储的是以 i 结尾的最长数对链的长度,而整个数对中最长数对链可能以任意其中一个元素作为结尾,所以需要遍历 dp 数组,得到最长的数对链。

*max_element(dp.begin(), dp.end());

代码

class Solution {
public:static bool cmp(vector<int>& a, vector<int>& b){return a[1] < b[1];}int findLongestChain(vector<vector<int>>& pairs) {int n = pairs.size();vector<int> dp(n, 0);sort(pairs.begin(), pairs.end(), cmp);// 初始化dp[0] = 1;// 状态转移方程for(int i=1; i<n; ++i){for(int j=0; j<=i; ++j){if(pairs[i][0] > pairs[j][1]){dp[i] = max(dp[i], dp[j] + 1);}else dp[i] = max(dp[i] , 1);}}return *max_element(dp.begin(), dp.end());}
};
http://www.dinnco.com/news/57828.html

相关文章:

  • 怎么做防劫持网站网站设计公司模板
  • 广告牌制作安装公司专业网站优化排名
  • 比较常见的网页制作工具seo1短视频网页入口营销
  • 小说网站开发背景关键对话
  • 辛集专业网站建设重庆seo黄智
  • html 网站开发软件torrent种子猫
  • wordpress 阿里大鱼优化大师怎么样
  • 怎么做flash网站百度软件中心
  • 茂名本土网站建设公司网店推广运营
  • 熊掌号怎么做网站跳转链接企业邮箱哪个好
  • seo 网站关键词优化快速百度
  • 做网站要不要签合同网络运营是什么意思
  • 成都网站建设易维达好全网营销系统1700元真实吗
  • 自己电脑做网站主机湖南省人民政府
  • 响应式网站建设对企业营销网页模板素材
  • wordpress吃服务器台州seo排名优化
  • 怎么自己在家做网站如何做免费网络推广
  • 搬家网站建设思路太原网站开发
  • 免费发布黄页广告网站百度app打开
  • 网站如何申请南昌网站seo
  • 做一个旅游团网站怎么做河北seo推广公司
  • 互联网站建设维护爱站长
  • 张店网站建设公司百度关键词分析
  • app网站平台搭建怎样利用互联网进行网络推广
  • 家电网站建设武汉网站关键词推广
  • 怎么用phpcmf做网站seo关键词排名
  • 跟知乎一样的网站搜索图片识别
  • 西城建设委员会的网站cba最新排名
  • 凡科董事长搜素引擎优化
  • 西宁的网站建设谷歌paypal官网入口