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

新闻静态网站咋做湖南二级建造师在哪个网站做变更

新闻静态网站咋做,湖南二级建造师在哪个网站做变更,app开发免费,建网站的尺寸每日算法学习记录 - 250506 今天记录了三道算法题的解题过程和思路,分享给大家。 3192. 使二进制数组全部等于 1 的最少操作次数 II 题目 思路 贪心 解题过程 我们从左到右遍历数组。使用一个变量 ret 来记录已经执行的操作次数。 对于当前元素 nums[i]&#x…

每日算法学习记录 - 250506

今天记录了三道算法题的解题过程和思路,分享给大家。


3192. 使二进制数组全部等于 1 的最少操作次数 II

题目
在这里插入图片描述

思路

贪心

解题过程

我们从左到右遍历数组。使用一个变量 ret 来记录已经执行的操作次数。
对于当前元素 nums[i],它的实际值会受到其左边(即索引小于 i 的位置)操作的影响。

  • 如果 ret 是偶数,那么 nums[i] 的实际值就是它本身 nums[i]
  • 如果 ret 是奇数,那么 nums[i] 的实际值被翻转了 (0 变为 1, 1 变为 0),即 1 - nums[i]

我们的目标是让 nums[i] 在考虑了之前 ret 次操作影响后的实际状态为 1。
如果 nums[i] 的当前实际状态是 0,我们就必须在 i 位置执行一次操作。这次操作会翻转从 nums[i] 到数组末尾的所有元素,从而确保 nums[i] 变为 1。同时,我们增加 ret 的计数。

判断逻辑可以总结为:

  • 目标状态:1
  • 当前原始值:nums[i]
  • 已有翻转次数:ret
  • nums[i] 受已有翻转影响后的状态:current_val = (nums[i] + ret) % 2 (或者理解为:如果 ret 是偶数,current_val = nums[i];如果 ret 是奇数,current_val = 1 - nums[i])。
  • 如果 current_val 是 0,我们就需要执行一次操作,ret++

代码中的 if (x == flag),其中 xnums[i]flagret % 2

  • 如果 nums[i] == 0ret % 2 == 0 (偶数次翻转,nums[i] 实际是 0),则需要翻转,ret++
  • 如果 nums[i] == 1ret % 2 == 1 (奇数次翻转,nums[i] 实际是 0),则需要翻转,ret++
    这两种情况恰好是 nums[i] == ret % 2

复杂度

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

Code

class Solution {public int minOperations(int[] nums) {int ret = 0;for (int x : nums) {int flag = ret % 2;if (x == flag) {ret++;}}return ret;}
}

2789. 合并后数组中的最大元素

题目
在这里插入图片描述

思路

贪心

解题过程

这道题的关键在于从右往左遍历数组。我们维护 curSum 表示从当前位置向右合并能得到的元素值(即当前正在构建的合并块的总和),同时用 maxVal 记录遍历过程中出现过的最大的 curSum(即最大的可能合并块)。

  1. 从数组的最后一个元素 nums[n-1] 开始:
    • curSum 初始化为 nums[n-1]
    • maxVal 初始化为 nums[n-1]
  2. 然后从 nums[n-2] 向左遍历到 nums[0]
    • 对于当前元素 nums[i]
      • 如果 nums[i] <= curSum:说明 nums[i] 可以和右边的 curSum 代表的合并块进行合并(满足 nums[i] <= nums[i+1] 的条件,其中 nums[i+1] 实际上是 curSum)。我们将 nums[i] 加到 curSum 上,即 curSum += nums[i]
      • 如果 nums[i] > curSum:说明 nums[i] 不能和右边的 curSum 合并,因为它比右边已经合并的块还要大。此时,nums[i] 成为一个新的、独立的合并块的起点(或者说它本身就是一个块),所以 curSum 被重置为 nums[i]
    • 每次更新 curSum 后,都用 maxVal = Math.max(maxVal, curSum) 来更新全局记录的最大合并块值。
  3. 遍历结束后,maxVal 就是数组中能合并出的最大元素。

复杂度

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

Code

class Solution {public long maxArrayValue(int[] nums) {int n = nums.length;if (n == 1) {return nums[0];}long curSum = nums[n - 1];long maxVal = nums[n - 1];for (int i = n - 2; i >= 0; i--) {if (nums[i] <= curSum) {curSum += nums[i];} else {curSum = nums[i];}maxVal = Math.max(maxVal, curSum);}return maxVal;}
}

153. 寻找旋转排序数组中的最小值(复习)

题目
在这里插入图片描述

这是第二次写这道题了,写的还不错,基本上已经掌握了,就不再多说了。
详细题解见每日算法-250415

Code

class Solution {public int findMin(int[] nums) {int left = 0, rigth = nums.length - 1;int k = nums[rigth];while (left <= rigth) {int mid = left + (rigth - left) / 2;if (nums[mid] < k) {rigth = mid - 1;} else {left = mid + 1;}}return left >= nums.length ? nums[rigth] : nums[left];}
}

文章转载自:

http://XP3EWW79.rbsxf.cn
http://0ZfyoYqT.rbsxf.cn
http://lz6k4G8O.rbsxf.cn
http://YSy0aWZ8.rbsxf.cn
http://PdaMTQVu.rbsxf.cn
http://auYrnLTP.rbsxf.cn
http://RWYKqjIH.rbsxf.cn
http://4QsYwSPE.rbsxf.cn
http://LBGvmfJ1.rbsxf.cn
http://HeatHqB9.rbsxf.cn
http://Uy8f6F5Y.rbsxf.cn
http://daOukAde.rbsxf.cn
http://YzO6KMaC.rbsxf.cn
http://A8BWiHVT.rbsxf.cn
http://w7GrbX0Q.rbsxf.cn
http://pORhmsQQ.rbsxf.cn
http://IKe7bu8n.rbsxf.cn
http://4DKLVWzD.rbsxf.cn
http://kPaNtmB5.rbsxf.cn
http://9dwnaZlw.rbsxf.cn
http://L7vrWsYS.rbsxf.cn
http://eghTX57L.rbsxf.cn
http://xaqYImUR.rbsxf.cn
http://tdH94ilQ.rbsxf.cn
http://0F3gRSo2.rbsxf.cn
http://yej1SY4P.rbsxf.cn
http://g8VZBSGa.rbsxf.cn
http://4U4VgFUb.rbsxf.cn
http://yPWVbQrf.rbsxf.cn
http://eKnOsGcb.rbsxf.cn
http://www.dtcms.com/wzjs/726939.html

相关文章:

  • 网站的建设服务平台网站平台建设意见
  • 学校网站的建设费用吗工业设计作品网站
  • 五金技术支持东莞网站建设上海做家教去哪个网站
  • 邯郸做网站推广多少钱梧州网站建设2k9网络团队提供高品质网站建设服务
  • 天河定制型网站建设备案增加网站
  • 做伤残鉴约号网站上海徐汇区最新发布
  • 明水县网站建设wordpress二级域名做站群
  • 国际贸易网站建设 中企动力湖北在线网页翻译成中文
  • 网站cdn加速怎么入侵如何制作企业官网
  • 免费建设淘客网站东莞横沥新闻今天
  • wordpress 积分下载插件网站建设优化方法 s
  • 济南做网站建设的公司东莞网站建设 汇卓
  • 专业建网站 成都网页制作与网站建设pdf
  • 重庆网站备案系统网站建设含义
  • wordpress 注册 填写密码错误网络seo推广
  • 国内网站不备案可以吗东营建设银行电话号码
  • 网站建设佰首选金手指十三重庆seo结算
  • 官方网站下载打印机驱动公司哪家好点
  • 东乡建设网站建设品牌网站公司
  • 网站开发南昌网站推广成功案例
  • 一个公司可以做几个网站吗网络推广公司哪家做得好
  • 个人怎么见个网站适合美工的网站
  • 微网站用什么软件做晋江市住房与城乡建设局网站
  • 安庆哪些做网站的公司好天津做宠物饲料的网站
  • 企业网站优化系统绍兴网站seo
  • 中企动力做网站怎么样深圳做响应式网站公司
  • 手机网站标准字体大小asp网站设计
  • 做h5那个网站模板好廊坊网页关键词优化
  • 网站促销计算做网站没有必须要ftp吗
  • 河源哪里做网站怎么做带购物功能的网站