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

优购物官方网站 商城陕西做网站的公司电话

优购物官方网站 商城,陕西做网站的公司电话,网站导航是什么意思,搭建wordpress博客力扣题目链接 本题有一个简单的解法是动态规划,时间复杂度 O(n^2),笔者在之前曾做过相关记录:300.最长递增子序列 现在我们来讨论 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))的解法 局部最优:如果我们希望上升子序列尽可能的长&a…

力扣题目链接
本题有一个简单的解法是动态规划,时间复杂度 O(n^2),笔者在之前曾做过相关记录:300.最长递增子序列
现在我们来讨论 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))的解法

局部最优:如果我们希望上升子序列尽可能的长,则我们需要让序列上升得尽可能慢;
全局最优:最终遍历完整个数组,那么此时的序列长度为最长递增子序列。

所以有一个很直观的思路就出来了:

  • 我们维护一个递增数组 d[i],其中 i 表示最长上升子序列的末尾元素的最小值;
  • 我们开始遍历整个数组,在遍历到 nums[i] 时:
    • 如果 nums[i] > d[len] ,直接加入到 d 数组末尾,并且更新 len = len + 1;
    • 否则,在 d 数组中二分查找,找到一个比 nums[i] 小的数d[k],并更新 d[k +1] = nums[i]

这里举一个例子:
对于序列[0, 8, 4, 12, 2],

  • 第一步插入 0,d=[0];

  • 第二步插入 8,d=[0,8];

  • 第三步插入 4,d=[0,4];

  • 第四步插入 12,d=[0,4,12];

  • 第五步插入 2,d=[0,2,12]。

如果你能了解二分查找找到插入位置的话,此题非常简单

class Solution {
public:int lengthOfLIS(vector<int>& nums) {int n = nums.size();if (n == 0) {return 0; // 如果数组为空,返回 0}vector<int> d(n + 1, 0); // 用于存储最长递增子序列的数组int len = 1; // 当前 LIS 的长度d[len] = nums[0]; // 初始化第一个元素for (int i = 1; i < n; ++i) {if (nums[i] > d[len]) {// 如果 nums[i] 大于当前 LIS 的最后一个元素d[++len] = nums[i];} else {// 否则,在 d 数组中找到第一个大于或等于 nums[i] 的位置,并替换它int l = 1, r = len, pos = 0;while (l <= r) {int mid = (l + r) / 2;if (d[mid] < nums[i]) {pos = mid; // 找到小于 nums[i] 的最大位置l = mid + 1;} else {r = mid - 1;}}d[pos + 1] = nums[i]; // 替换位置 pos+1 处的值}}return len; // 返回最长递增子序列的长度}
};
http://www.yayakq.cn/news/740256/

相关文章:

  • 如何做自己的个人网站wordpress动静分离oss
  • 建设网站导航网站标题前的小图标怎么做
  • 企业网站建设之后wordpress esu
  • 网站流量统计查询计算机网络基础课程
  • 网站需求方案可口可乐网络营销案例
  • 购买网站域名 空间气球网站建设
  • 武威建设银行网站新乡做新网站
  • cms做网站不用后端wordpress 文章 调用
  • 婚纱制作网站广告设计软件培训中心
  • 如何去看网站是不是响应式php网站开发工程师月薪
  • 经营购物网站常用的网站打不开
  • 做网站要提供什么wordpress死链自动提交
  • asp网站自动识别手机wordpress 微博同步插件
  • 李宁网站建设的可行性重庆网站建设费用
  • mvc5 网站开发之美公司网站建设视频教程
  • 代做毕业设计网站 道路桥梁php开发
  • 污染网站代码广东广州有几个区
  • 易语言做网站简单教程极速网站建设公司电话
  • 网站建设就业前景2017怎么查一个网站的服务器是在国内还是国外
  • 可视化拖拽建站系统广告设计公司的经营范围
  • 自己用钢管做里闪弹枪视频和照网站什么叫软文推广
  • 做外贸的人常用的网站建设网站的多少钱
  • 做产品类网站有哪些企业网站开发前台模块设计
  • 如何查看网站备案国际重大新闻
  • 叮当网站做appseo上海培训
  • frontpage制作个人网站 技巧公司网站域名是什么意思
  • 北京建设专职查询网站做本地网站
  • 北京建设部网站官网昆山网站建设书生商友
  • 宁夏住房建设厅网站网站1996年推广
  • nodejs 做网站js交件广州网站开发设计