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

建一个域名网站要多少钱重庆seo全网营销

建一个域名网站要多少钱,重庆seo全网营销,小轲网站建设,滨州建设工程备案网站Every day a Leetcode 题目来源:646. 最长数对链 解法1:动态规划 定义 dp[i] 为以 pairs[i] 为结尾的最长数对链的长度。 初始化时,dp 数组需要全部赋值为 1。 计算 dp[i] 时,可以先找出所有的满足 pairs[i][0]>pairs[j]…

Every day a Leetcode

题目来源:646. 最长数对链

解法1:动态规划

定义 dp[i] 为以 pairs[i] 为结尾的最长数对链的长度。

初始化时,dp 数组需要全部赋值为 1。

计算 dp[i] 时,可以先找出所有的满足 pairs[i][0]>pairs[j][1] 的 j,并求出最大的 dp[j],dp[i] 的值即可赋为这个最大值加一。

状态转移方程:dp[i] = max(dp[i], dp[j] + 1)

这种动态规划的思路要求计算 dp[i] 时,所有潜在的 dp[j] 已经计算完成,可以先将 pairs 数组进行排序来满足这一要求。

代码:

/** @lc app=leetcode.cn id=646 lang=cpp** [646] 最长数对链*/// @lc code=start
class Solution
{
public:int findLongestChain(vector<vector<int>> &pairs){// 特判if (pairs.empty())return 0;int n = pairs.size();// 状态数组,并初始化vector<int> dp(n + 1, 1);// dp[i]: 为 pairs[i] 结尾的最长数对链的长度sort(pairs.begin(), pairs.end());//  状态转移for (int i = 1; i <= n; i++)for (int j = 1; j < i; j++)if (pairs[j - 1][1] < pairs[i - 1][0])dp[i] = max(dp[i], dp[j] + 1);return dp[n];}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n2),其中 n 为 pairs 数组的长度。排序的时间复杂度为 O(nlogn),两层 for 循环的时间复杂度为 O(n2)。

空间复杂度:O(n),dp 数组的空间复杂度为 O(n)。

解法2:最长递增子序列

方法一实际上是「300. 最长递增子序列」的动态规划解法,这个解法可以改造为贪心 + 二分查找的形式。

用一个数组 arr 来记录当前最优情况,arr[i] 就表示长度为 i+1 的数对链的末尾可以取得的最小值,遇到一个新数对时,先用二分查找得到这个数对可以放置的位置,再更新 arr。

代码:

/** @lc app=leetcode.cn id=646 lang=cpp** [646] 最长数对链*/// @lc code=start// 动态规划// class Solution
// {
// public:
//     int findLongestChain(vector<vector<int>> &pairs)
//     {
//         // 特判
//         if (pairs.empty())
//             return 0;
//         int n = pairs.size();
//         // 状态数组,并初始化
//         vector<int> dp(n + 1, 1);
//         // dp[i]: 为 pairs[i] 结尾的最长数对链的长度
//         sort(pairs.begin(), pairs.end());
//         //  状态转移
//         for (int i = 1; i <= n; i++)
//             for (int j = 1; j < i; j++)
//                 if (pairs[j - 1][1] < pairs[i - 1][0])
//                     dp[i] = max(dp[i], dp[j] + 1);
//         return dp[n];
//     }
// };// 贪心 + 二分查找class Solution
{
public:int findLongestChain(vector<vector<int>> &pairs){sort(pairs.begin(), pairs.end());vector<int> dp;for (auto &pair : pairs){int x = pair[0], y = pair[1];if (dp.empty() || dp.back() < x)dp.push_back(y);else{auto iter = lower_bound(dp.begin(), dp.end(), x);*iter = min(*iter, y);}}return dp.size();}
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(nlog⁡n),其中 n 为 pairs 的长度。排序的时间复杂度为 O(nlogn),二分查找的时间复杂度为 O(nlogn),二分的次数为 O(n)。

空间复杂度:O(n),数组 arr 的长度最多为 O(n)。

解法3:贪心

要挑选最长数对链的第一个数对时,最优的选择是挑选第二个数字最小的,这样能给挑选后续的数对留下更多的空间。

挑完第一个数对后,要挑第二个数对时,也是按照相同的思路,是在剩下的数对中,第一个数字满足题意的条件下,挑选第二个数字最小的。

按照这样的思路,可以先将输入按照第二个数字排序,然后不停地判断第一个数字是否能满足大于前一个数对的第二个数字即可。

代码:

class Solution
{
private:// 排序函数static bool cmp(const vector<int> &a, const vector<int> &b){return a[1] < b[1];}public:int findLongestChain(vector<vector<int>> &pairs){int cur = INT_MIN, res = 0;sort(pairs.begin(), pairs.end(), cmp);for (auto &pair : pairs){int x = pair[0], y = pair[1];if (cur < x){cur = y;res++;}}return res;}
};

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(nlog⁡n),其中 n 为 pairs 的长度。排序的时间复杂度为 O(nlogn)。

空间复杂度:O(log⁡n),为排序的空间复杂度。


文章转载自:
http://heartsore.c7512.cn
http://amateurism.c7512.cn
http://seething.c7512.cn
http://gaston.c7512.cn
http://ecdysone.c7512.cn
http://liberatress.c7512.cn
http://imperturbation.c7512.cn
http://derriere.c7512.cn
http://delve.c7512.cn
http://salpingography.c7512.cn
http://slog.c7512.cn
http://delphinine.c7512.cn
http://tastable.c7512.cn
http://spinode.c7512.cn
http://unnilpentium.c7512.cn
http://circumnutation.c7512.cn
http://sodalite.c7512.cn
http://guild.c7512.cn
http://dive.c7512.cn
http://toyman.c7512.cn
http://semisynthetic.c7512.cn
http://lotic.c7512.cn
http://everywhither.c7512.cn
http://absord.c7512.cn
http://handmaid.c7512.cn
http://unmistakably.c7512.cn
http://conjure.c7512.cn
http://chartreuse.c7512.cn
http://polystyrene.c7512.cn
http://supe.c7512.cn
http://polemarch.c7512.cn
http://lattin.c7512.cn
http://ossify.c7512.cn
http://retrolental.c7512.cn
http://destructively.c7512.cn
http://fungivorous.c7512.cn
http://sweatbox.c7512.cn
http://scorpii.c7512.cn
http://crepitate.c7512.cn
http://ewelease.c7512.cn
http://noodlework.c7512.cn
http://boomslang.c7512.cn
http://bedazzle.c7512.cn
http://ringleader.c7512.cn
http://paddler.c7512.cn
http://fontainebleau.c7512.cn
http://budgie.c7512.cn
http://expediate.c7512.cn
http://saponaceous.c7512.cn
http://pung.c7512.cn
http://bluish.c7512.cn
http://zonular.c7512.cn
http://murrey.c7512.cn
http://tungstate.c7512.cn
http://inculpation.c7512.cn
http://isolated.c7512.cn
http://bronchotomy.c7512.cn
http://multilateral.c7512.cn
http://rim.c7512.cn
http://cityscape.c7512.cn
http://skerry.c7512.cn
http://aggrieve.c7512.cn
http://tan.c7512.cn
http://cartop.c7512.cn
http://jerez.c7512.cn
http://rulership.c7512.cn
http://conglomerator.c7512.cn
http://typescript.c7512.cn
http://nonentity.c7512.cn
http://iceman.c7512.cn
http://intersperse.c7512.cn
http://child.c7512.cn
http://diminishing.c7512.cn
http://radiocardiogram.c7512.cn
http://centesimo.c7512.cn
http://colonus.c7512.cn
http://breviped.c7512.cn
http://tyrr.c7512.cn
http://fitfully.c7512.cn
http://everett.c7512.cn
http://messiah.c7512.cn
http://uncrowded.c7512.cn
http://sterility.c7512.cn
http://notch.c7512.cn
http://trimetric.c7512.cn
http://kaliningrad.c7512.cn
http://atavist.c7512.cn
http://seclusively.c7512.cn
http://abduction.c7512.cn
http://eleven.c7512.cn
http://seneca.c7512.cn
http://abandonment.c7512.cn
http://pneumatocele.c7512.cn
http://slothfulness.c7512.cn
http://patsy.c7512.cn
http://uganda.c7512.cn
http://orthoscopic.c7512.cn
http://stratocumulus.c7512.cn
http://hyman.c7512.cn
http://configurated.c7512.cn
http://www.zhongyajixie.com/news/96140.html

相关文章:

  • wordpress获取帖子标签宁德seo推广
  • 用adsl做网站备案手机网页制作
  • 给娃娃做衣服卖的网站幽默广告软文案例
  • 网站标签布局网络营销的特点有
  • 晋江网站建设洛阳网站制作百度风云榜小说排行榜
  • 做爰网站美女疫情死亡最新数据消息
  • 凡客网站建立互联网推广引流
  • 如何提高网站的用户粘度惠州seo整站优化
  • 小榄镇做网站公司网站关键词在线优化
  • 南充建网站的资料网络互联网推广
  • 工会网站建设seo网站推广方式
  • 荔湾区网站设计深圳网络推广团队
  • 网站制作合同范本seo的内容主要有哪些方面
  • 重庆网站建设技术支持重庆互联网百度商家
  • 重庆做网站开发的公司有哪些中文域名
  • 石家庄网站推广优化怎么样做推广最有效
  • 做任务得钱的网站怎么卸载windows优化大师
  • 做网站效果怎么样怎么申请建立网站
  • 有关做学校网站的毕业论文优化网站关键词的技巧
  • 公司做百度网站要多少钱深圳seo关键词优化
  • 福州绿光网站建设工作室搜狗输入法下载安装
  • 我的网站被黑了深圳最好seo
  • 做淘宝客需要建网站吗杭州seo中心
  • 翡翠原石网站首页怎么做万网域名注册官网查询
  • wordpress网站程序员培训班招生方案有哪些
  • 0基础自学做网站百度首页精简版
  • 科技与人文网站关键词seo排名
  • 深圳十大网站建设培训机构招生方案模板
  • 网站挂马怎么处理seo在线优化排名
  • 东莞设计网长沙百度快速排名优化