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

3542. 将所有元素变为 0 的最少操作次数

给你一个大小为 n 的 非负 整数数组 nums 。你的任务是对该数组执行若干次(可能为 0 次)操作,使得 所有 元素都变为 0。

在一次操作中,你可以选择一个子数组 [i, j](其中 0 <= i <= j < n),将该子数组中所有 最小的非负整数 的设为 0。

返回使整个数组变为 0 所需的最少操作次数。

一个 子数组 是数组中的一段连续元素。

输入: nums = [0,2]

输出: 1

解释:

  • 选择子数组 [1,1](即 [2]),其中最小的非负整数是 2。将所有 2 设为 0,结果为 [0,0]
  • 因此,所需的最少操作次数为 1。

输入: nums = [1,2,1,2,1,2]

输出: 4

解释:

  • 选择子数组 [0,5](即 [1,2,1,2,1,2]),最小非负整数是 1。将所有 1 设为 0,结果为 [0,2,0,2,0,2]
  • 选择子数组 [1,1](即 [2]),将 2 设为 0,结果为 [0,0,0,2,0,2]
  • 选择子数组 [3,3](即 [2]),将 2 设为 0,结果为 [0,0,0,0,0,2]
  • 选择子数组 [5,5](即 [2]),将 2 设为 0,结果为 [0,0,0,0,0,0]
  • 因此,最少操作次数为 4。

根据示例我们可知,最小操作次数只与初始排布有关。应当尽量符合:

1.每次操作尽可能选更长的子数组

2.遇到0即需要进行分割

3.每次操作将当前最小值设置为0.

4.合并2+3:分割操作与分布单调性有关系。

        1,1,2,2:两次操作

        1,2,1,2 :三次操作

每次递增时,说明有新的值需要操作。出现递减时则应当c

根本原因是出现了递减分布。每次递减出现时应当重置单调栈(当前操作必定无法与之前可能的等价情况一起处理)。

class Solution {
public:int minOperations(vector<int>& nums) {vector<int>s;int res=0;for(int a:nums){//维护单调栈,确保递减时重置状态while (!s.empty() && a<s.back()) {s.pop_back();}if(a==0)continue;//初始时+1//忽略等价情况,同时确保递增即正常操作+1if(s.empty()||a>s.back()){++res;s.push_back(a);}}return res;}
};

http://www.dtcms.com/a/614098.html

相关文章:

  • 宁波商城网站建设互联网创意网站有哪些方面
  • 基于Vue的售票系统开发3g480(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末
  • 06-文件操作-练习
  • 中企动力做网站要全款全能网站模板
  • 花瓣设计网站官网入口广州分公司注册
  • QPushButton弹出菜单的完整实现指南
  • 【项目】个人博客测试报告
  • Linux下通过sysfs读写GPIO的一个注意事项
  • Metasploitable2靶场全部漏洞超详细讲解(含Metasploitable2靶场下载)
  • 复变函数与积分变换 第三章——复变函数的积分
  • 国内优秀网站设计工商查询系统
  • ES6(ECMAScript 2015)语法特性详解
  • 前端微前端性能优化,资源加载策略
  • c语言编译器gcc下载 | 完整安装步骤与配置指南
  • 收录网站是什么意思湛江网站开发公司
  • Qt QHostInfo::lookupHost()函数,10分钟讲清楚
  • DOM 添加节点
  • 餐饮行业做网站的好处佛山市网站建设哪家好
  • 从算法到产品:《自然语言处理实战》如何用Hugging Face落地NLP应用
  • 凡客网站规划与建设ppt青岛建站
  • 低成本开发者工作生存手册
  • 网站集约化建设意义linux网站服务器配置
  • Go语言编译型 | 理解Go语言的编译特性与优势
  • SSM交通违章举报平台lxsqm(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • Java 基于Java语法实验专题
  • Android并发编程三剑客:深入理解CountDownLatch、CyclicBarrier和Semaphore
  • OS进程控制
  • datax的shell脚本常见报错
  • Java在线编译C语言 | 快速高效的跨语言在线编译工具
  • 前端响应式图片实现,srcset与sizes