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

怎么做vip视频网站互联网广告代理商

怎么做vip视频网站,互联网广告代理商,宣传广告制作效果图,html转wordpress给你一个整数数组 nums 。nums 的每个元素是 1,2 或 3。在每次操作中,你可以删除 nums 中的一个元素。返回使 nums 成为 非递减 顺序所需操作数的 最小值。 示例 1: 输入:nums [2,1,3,2,1] 输出:3 解释: …

给你一个整数数组 nums 。nums 的每个元素是 1,2 或 3。在每次操作中,你可以删除 nums 中的一个元素。返回使 nums 成为 非递减 顺序所需操作数的 最小值。

示例 1:
输入:nums = [2,1,3,2,1]
输出:3
解释:
其中一个最优方案是删除 nums[0],nums[2] 和 nums[3]。

示例 2:
输入:nums = [1,3,2,1,3,3]
输出:2
解释:
其中一个最优方案是删除 nums[1] 和 nums[2]。

示例 3:
输入:nums = [2,2,2,2,3,3]
输出:0
解释:
nums 已是非递减顺序的。

提示:
1 <= nums.length <= 100
1 <= nums[i] <= 3

动态规划

class Solution {
public:int minimumOperations(vector<int>& nums) {int n = nums.size();vector<int> g;for(int x : nums){auto it = ranges::upper_bound(g, x);if(it == g.end()) g.push_back(x);else *it = x;}return nums.size() - g.size();}
};

时间复杂度:O(nlogn),其中 n 为 nums 的长度。
空间复杂度:O(n)。

这个采用了c++的内置函数upper_bound,对于每个nums元素x,使用二分查找动态数组g来查找比x大且最接近x的位置,然后用迭代器it指向这个位置。

如果迭代器it指向了g.end(),那么就说明g中没有比x大的元素,那么x就可以push到g里面来构成一个更长的虚拟递增子序列。为什么是虚拟,下面我会谈到。如果it指向g中的某个位置,那么就用x替换掉那个元素,因为对于被替换的元素的前一个元素,肯定比x要小,且被替换的元素大于x,所以说x与被替换元素的上一个元素的值会更加接近,在构造最长递增子序列过程中,我们希望在长度相同的情况下,尽可能让这个虚拟序列更加接近。

为什么说g里面是个虚拟的递增子序列,不是真正的子序列。因为我们在用x替换g里面的元素的时候,由于x在nums中的位置肯定都要比g中所有元素都要大,所以替换过去后,并不会马上构成一个最长递增子序列。什么时候会构成真正的递增子序列?那就是在被替换的元素是g里面最后一个元素的时候,这时候虚拟的递增子序列才会变成真正的子序列。

举个例子:nums = [1,2,4,5,3,7,4,6]
一开始我们得到g=[1,2,4,5],然后遇到x=3,替换后g=[1,2,3,5],这时候g就是虚拟的递增子序列,因为很明显nums中没有这么一个递增子序列。接着遇到x=7,推入g,g=[1,2,3,5,7]。接着遇到x=4,替换掉g中的5,g=[1,2,3,4,7]。最后遇到x=6,替换掉了g中的最后一个元素7,g=[1,2,3,4,6],这时候我们的最长子序列才真正变成了[1,2,3,4,6]。

知道了最长递增子序列的长度后,我们用nums的大小减去g的大小,就是我们需要删除操作的次数。

这道题可以用状态机DP来进行优化时间复杂度为O(n)

http://www.15wanjia.com/news/28391.html

相关文章:

  • php美食网站开发的意义百度指数十年
  • 做网站公司没签合同上海牛巨微seo
  • 嵌入式累还是程序员累龙泉驿网站seo
  • 网站建设销售怎么做如何把一个关键词优化到首页
  • 英文外贸网站保定seo排名优化
  • wordpress的主机如何推广seo
  • 青海做网站公司企业网站的优化建议
  • 邢台本地网站百度知道首页网
  • 拉萨做网站公司快速排名方案
  • 专业网站建设品牌策划方案怎么在百度上推广产品
  • 绍兴公司网站建设 中企动力绍兴深圳网站建设方案
  • 怎样给自己做网站搜索引擎优化方案
  • 网站建设入门书籍曲靖seo
  • 做网站用bootstrap好网络营销ppt讲解
  • 厦门建设局网站首页中国网络优化公司排名
  • 现代网站开发建设全网seo优化电话
  • 装修网站建设优缺点搜索引擎优化规则
  • 龙岩app定制南宁seo手段
  • 建设工程管理是干嘛的温州企业网站排名优化
  • 怎么用joomla做网站网站建设多少钱
  • 深圳疫情今天最新消息seo服务方案
  • 东莞网站建设 石佳四川seo快速排名
  • 谷歌做网站推广成都网站设计公司
  • 茂港网站设计公司可靠的网站优化
  • php购物网站开发设计网站排名推广软件
  • 做网站商城如何优化网络营销与策划实践报告
  • 个人网站设计论文摘要nba最新排行
  • 做网站方案seo资讯网
  • 汕头 做网站windows优化大师值得买吗
  • 网站开发与管理对应的职业及岗位微博营销软件