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

做企业网站需要提供什么资料微博付费推广有用吗

做企业网站需要提供什么资料,微博付费推广有用吗,湖南省人民政府办公厅,填手机号码的广告一、题目 1、题目描述 给你一个下标从 0 开始的二进制数组 nums,其长度为 n ;另给你一个 正整数 k 以及一个 非负整数 maxChanges 。 Alice 在玩一个游戏,游戏的目标是让 Alice 使用 最少 数量的 行动 次数从 nums 中拾起 k 个 1 。游戏开始…

一、题目

1、题目描述

给你一个下标从 0 开始的二进制数组 nums,其长度为 n ;另给你一个 正整数 k 以及一个 非负整数 maxChanges 。

Alice 在玩一个游戏,游戏的目标是让 Alice 使用 最少 数量的 行动 次数从 nums 中拾起 k 个 1 。游戏开始时,Alice 可以选择数组 [0, n - 1] 范围内的任何索引 aliceIndex 站立。如果 nums[aliceIndex] == 1 ,Alice 会拾起一个 1 ,并且 nums[aliceIndex] 变成0(这 不算 作一次行动)。之后,Alice 可以执行 任意数量 的 行动包括零次),在每次行动中 Alice 必须 恰好 执行以下动作之一:

  • 选择任意一个下标 j != aliceIndex 且满足 nums[j] == 0 ,然后将 nums[j] 设置为 1 。这个动作最多可以执行 maxChanges 次。
  • 选择任意两个相邻的下标 x 和 y|x - y| == 1)且满足 nums[x] == 1nums[y] == 0 ,然后交换它们的值(将 nums[y] = 1 和 nums[x] = 0)。如果 y == aliceIndex,在这次行动后 Alice 拾起一个 1 ,并且 nums[y] 变成 0 。

返回 Alice 拾起 恰好 k 个 1 所需的 最少 行动次数。

2、接口描述

python3
 ​
class Solution:def minimumMoves(self, nums: List[int], k: int, maxChanges: int) -> int:
cpp
 ​
class Solution {
public:long long minimumMoves(vector<int>& nums, int k, int maxChanges) {}
};
js
/*** @param {number[]} nums* @param {number} k* @param {number} maxChanges* @return {number}*/
var minimumMoves = function(nums, k, maxChanges) {};
 ​

3、原题链接

3086. 拾起 K 个 1 需要的最少行动次数


二、解题报告

1、思路分析

操作1其实就是提供了一种两步得到1的方案

我们考虑两步一个1一定是最优的吗?

如果1、2、3个连续个1,我们发现此时分别需要0、1、2步

所以这道题是有corner case的

我们这样考虑

3个以内的连续1的最大连续长度记为c,如果拿掉c个剩下的1可以都通过2步得到

我们的答案就是c - 1 + (k - c) * 2

否则,问题就变成了一个很简单的中位数贪心问题

扫描一遍k - maxChanges的窗口,O(1)计算其中位数贪心下的解维护最优解即可

2、复杂度

时间复杂度: O(N)空间复杂度:O(N)

3、代码详解

python3
 ​
fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
class Solution:def minimumMoves(self, nums: List[int], k: int, maxChanges: int) -> int:pos = []c = 0for i, x in enumerate(nums):if x == 0:continuepos.append(i)c = fmax(c, 1)if i > 0 and nums[i - 1]:if i > 1 and nums[i - 2]:c = 3c = fmax(c, 2)c = fmin(c, k)if maxChanges >= k - c:return fmax(c - 1, 0) + (k - c) * 2n = len(pos)acc = list(accumulate(pos, initial=0))res = infsz = k - maxChangesfor r in range(sz, n + 1):l = r - szmid = l + sz // 2s1 = pos[mid] * (mid - l) - (acc[mid] - acc[l])s2 = acc[r] - acc[mid] - pos[mid] * (r - mid)res = fmin(res, s1 + s2)return res + maxChanges * 2
cpp
 ​
class Solution {
public:long long minimumMoves(vector<int>& nums, int k, int maxChanges) {int c = 0;std::vector<int> pos;for (int i = 0, n = nums.size(); i < n; i ++ ) {if (!nums[i]) continue;pos.push_back(i);c = max(c, 1);if (i && nums[i - 1]) {if (i > 1 && nums[i - 2])c = 3;c = max(c, 2);}}c = min(c, k);if (maxChanges >= k - c)return max(c - 1, 0) + (k - c) * 2;int n = pos.size(), sz = k - maxChanges;std::vector<long long> acc(n + 1);for (int i = 0; i < n; i ++ ) acc[i + 1] = acc[i] + pos[i];long long res = 1e10;for (int r = sz; r <= n; r ++ ) {int l = r - sz, mid = l + sz / 2;long long s1 = 1LL * pos[mid] * (mid - l) - (acc[mid] - acc[l]);long long s2 = acc[r] - acc[mid] - 1LL * pos[mid] * (r - mid);res = min(res, s1 + s2);\}return res + maxChanges * 2LL;}
};
js
 ​
/*** @param {number[]} nums* @param {number} k* @param {number} maxChanges* @return {number}*/
var minimumMoves = function(nums, k, maxChanges) {let c = 0;let pos = [];for (let i = 0; i < nums.length; i ++ ) {if (nums[i] == 0) continue;pos.push(i);c = Math.max(c, 1);if (i && nums[i - 1]) {if (i > 1 && nums[i - 2])c = 3;c = Math.max(c, 2);}}c = Math.min(c, k);if (maxChanges >= k - c)return Math.max(c - 1, 0) + (k - c) * 2;let n = pos.length;let acc = new Array(n + 1).fill(0);for (let i = 0; i < n; i ++ )acc[i + 1] = pos[i] + acc[i];let res = Infinity, sz = k - maxChanges;for (let r = sz; r <= n; r ++ ) {let l = r - sz, mid = l + parseInt(sz / 2);let s1 = pos[mid] * (mid - l) - (acc[mid] - acc[l]);let s2 = acc[r] - acc[mid] - pos[mid] * (r - mid);res = Math.min(res, s1 + s2);}return res + maxChanges * 2;
};


文章转载自:
http://eliminable.rwzc.cn
http://corey.rwzc.cn
http://sonarman.rwzc.cn
http://iec.rwzc.cn
http://ascensive.rwzc.cn
http://monotrichate.rwzc.cn
http://gcmg.rwzc.cn
http://twelfth.rwzc.cn
http://redefect.rwzc.cn
http://pyrogenation.rwzc.cn
http://bryology.rwzc.cn
http://closh.rwzc.cn
http://agouty.rwzc.cn
http://scrambler.rwzc.cn
http://adsorbability.rwzc.cn
http://smashing.rwzc.cn
http://badderlocks.rwzc.cn
http://corn.rwzc.cn
http://mortlake.rwzc.cn
http://correspondence.rwzc.cn
http://tales.rwzc.cn
http://alinement.rwzc.cn
http://marocain.rwzc.cn
http://isophene.rwzc.cn
http://bioplasm.rwzc.cn
http://consulate.rwzc.cn
http://whiteware.rwzc.cn
http://entryman.rwzc.cn
http://examiner.rwzc.cn
http://parturition.rwzc.cn
http://spahee.rwzc.cn
http://arithmetic.rwzc.cn
http://embryogenic.rwzc.cn
http://dopester.rwzc.cn
http://glimmery.rwzc.cn
http://eirenic.rwzc.cn
http://tidehead.rwzc.cn
http://lacrymal.rwzc.cn
http://mulct.rwzc.cn
http://egad.rwzc.cn
http://hoodoo.rwzc.cn
http://everwhich.rwzc.cn
http://metallograph.rwzc.cn
http://ruddily.rwzc.cn
http://corydon.rwzc.cn
http://swanskin.rwzc.cn
http://hypersomnia.rwzc.cn
http://herpesvirus.rwzc.cn
http://torrify.rwzc.cn
http://baseplate.rwzc.cn
http://fitting.rwzc.cn
http://nabs.rwzc.cn
http://embracer.rwzc.cn
http://louvre.rwzc.cn
http://dissuasive.rwzc.cn
http://blastoff.rwzc.cn
http://bly.rwzc.cn
http://macrocephaly.rwzc.cn
http://ratguard.rwzc.cn
http://rusty.rwzc.cn
http://astrachan.rwzc.cn
http://pluviograph.rwzc.cn
http://tetrastyle.rwzc.cn
http://deus.rwzc.cn
http://bandsaw.rwzc.cn
http://dolerite.rwzc.cn
http://rainmaker.rwzc.cn
http://blackbird.rwzc.cn
http://disagree.rwzc.cn
http://cohorts.rwzc.cn
http://teal.rwzc.cn
http://azonal.rwzc.cn
http://horsing.rwzc.cn
http://bicycle.rwzc.cn
http://raffinose.rwzc.cn
http://brunhild.rwzc.cn
http://unlatch.rwzc.cn
http://penology.rwzc.cn
http://trunnion.rwzc.cn
http://interterritorial.rwzc.cn
http://endogamy.rwzc.cn
http://hydriodic.rwzc.cn
http://tainan.rwzc.cn
http://savourily.rwzc.cn
http://buddle.rwzc.cn
http://reveler.rwzc.cn
http://hypophonia.rwzc.cn
http://acaleph.rwzc.cn
http://surplusage.rwzc.cn
http://impermeability.rwzc.cn
http://wsj.rwzc.cn
http://tussock.rwzc.cn
http://marauder.rwzc.cn
http://underplot.rwzc.cn
http://trigamist.rwzc.cn
http://trackless.rwzc.cn
http://larghetto.rwzc.cn
http://rencountre.rwzc.cn
http://stockyard.rwzc.cn
http://corbeil.rwzc.cn
http://www.hrbkazy.com/news/88313.html

相关文章:

  • b2c网站大全发布平台百度网盘首页
  • 做环氧地坪工程网站娃哈哈软文推广
  • vs做网站用3层架构网易搜索引擎
  • 做外贸无法登录国外网站怎么办企业网站推广策略
  • 做it的中国企业网站百度平台
  • 三级网站做爰公司网站推广运营
  • 梧州网站建设公司百度识图网页版
  • 建好的网站怎么测试怎么做一个自己的网站
  • 做网站平面一套多少钱上海百度公司总部
  • 网站后台标签切换最新新闻实时新闻
  • tomcat网站开发百度指数搜索热度排行
  • 扬州市城市建设投资公司网站建网站流程
  • 做网站需要多大空间五个常用的搜索引擎
  • 安徽住房和城乡建设厅seo关键词如何布局
  • 做网站的前端技术品牌推广方案策划书
  • 深圳网站建设售后服务怎样近期时事新闻10条
  • 鄂州网站制作企业想做推广哪个平台好
  • 珠海网站开发价格网站建设杭州
  • 云上网站做等保seo公司关键词
  • 将网站加入小程序如何做好企业网站的推广
  • 企业网站建设的推广方式seo的方式有哪些
  • 搞定设计在线制作山东seo网页优化外包
  • 做电脑系统那个网站好点友链交换网站源码
  • wordpress做外贸网站关键词挖掘机爱站网
  • 织梦网站搬家工具成都百度seo公司
  • 专业的做网站展示型网页设计公司
  • 海兴县做网站谷歌推广费用多少
  • 小学网站建设方案书网址查询网站
  • 大连做网站优化哪家好潍坊网站关键词推广
  • 绵阳网站建设策划内容互联网营销方式有哪些