每日OJ题_算法_双指针②_力扣1089. 复写零

目录

力扣1089. 复写零

解析代码


力扣1089. 复写零

1089. 复写零 - 力扣(LeetCode)

难度 简单

给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。

注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改,不要从函数返回任何东西。

示例 1:

输入:arr = [1,0,2,3,0,4,5,0]
输出:[1,0,0,2,3,0,0,4]
解释:调用函数后,输入的数组将被修改为:[1,0,0,2,3,0,0,4]

示例 2:

输入:arr = [1,2,3]
输出:[1,2,3]
解释:调用函数后,输入的数组将被修改为:[1,2,3]

提示:

  • 1 <= arr.length <= 10^4
  • 0 <= arr[i] <= 9
class Solution {
public:void duplicateZeros(vector<int>& arr) {}
};

解析代码

从右往前的双指针问题(标的简单实际并不简单),需要先找到最后得到的vector最右边的数。这里找这个数用从左向右的双指针:

class Solution {
public:void duplicateZeros(vector<int>& arr) {int left = -1, right = 0, size = arr.size();while(right < size) // 找到最后一个数{if(arr[right] != 0){left++;}else{left += 2;}if(left >= size - 1){break;}right++;}if(left == size) // 处理边界情况{arr[size - 1] = 0;right --;left -= 2;}while(right >= 0) // 从右往左复写{if(arr[right] != 0){arr[left--] = arr[right--];}else{arr[left--] = 0;arr[left--] = 0;right--;}}}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/204207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4.3 容器编排工具的比较与选择

容器编排工具的比较与选择 Kubernetes 介绍 Kubernetes&#xff0c;是目前最流行和功能强大的容器编排平台之一。强调 Kubernetes 的自动化、高可用、扩展性和灵活的特点。讨论 Kubernetes 的主要组件和架构&#xff0c;如 Master 节点、Node 节点、控制器和调度器等。分析 Ku…

智慧景区(园区)数字孪生可视化GIS解决方案

随着技术的日新月异&#xff0c;景区日常管理及运营中使用到的智慧化工具越来越丰富&#xff0c;智慧化硬件设备也越来越多&#xff0c;而其中各个管理系统往往又是相互独立&#xff0c;形成一个个数据孤岛。智慧景区管理平台就是将各个孤岛中的数据及功能汇集起来&#xff0c;…

政采云基于 Dubbo 的混合云数据跨网实践

作者&#xff1a;王晓彬&#xff0c;政采云资深开发工程师 项目背景 政采云的业务是为政府提供的购物网站&#xff0c;类似于淘宝。政府采购会在政采云上做企业采购、政府采购的业务。 云岛中的“云”是指我们的云平台&#xff0c;云平台是我们公司自己部署的一套购物网站&a…

【计算机网络漫谈】OSI七层模型与TCP/IP四层(参考)模型

一、七层&#xff1f;四层&#xff1f; 1.为什么需要协议&#xff1f;2.OSI七层模型是干什么的&#xff1f;3.TCP/IP四层&#xff08;参考&#xff09;模型4.TCP/IP&#xff08;参考&#xff09;模型与OSI七层模型有什么异同&#xff1f; 二、自底向上的网络分层 1. 物理层2…

阻止事件e.stopPropagation()和e.preventDefault的区别

e.stopPropagation() 和 e.preventDefault() 是两个在事件处理中常用的方法&#xff0c;它们有不同的作用&#xff1a; e.stopPropagation(): 作用&#xff1a;阻止事件在DOM中的进一步传播&#xff0c;即停止事件冒泡。使用场景&#xff1a;当你希望阻止一个事件从目标元素向上…

防火墙 iptables的使用

目录 什么是防火墙 原理 代理 防火墙的工具 4表5列 五链&#xff1a;控制流量的时机 四个表&#xff1a;如何控制流量 ​编辑 iptables 软件 格式 选项 跳转 查iptables 的规则 添加规则 A I 删除规则 清空规则 替换规则 R 修改默认规则&#xff08;默…

校园外卖小程序源码系统 附带完整的搭建教程

随着大学生消费水平的提高&#xff0c;对于外卖服务的需求也在不断增加。很多学生都面临着课业繁重、时间紧张等问题&#xff0c;无法亲自到餐厅就餐。因此&#xff0c;开发一款适合校园外卖市场的应用软件&#xff0c;将为广大学生提供极大的便利。 以下是部分代码示例&#…

vector例题:hdu4841圆桌问题

解题代码来源于一本书&#xff1a;《算法竞赛&#xff1a;入门到进阶》 圆桌上围坐着2n个人。其中n个人是好人&#xff0c;另外n个人是坏人。如果从第一个人开始数数&#xff0c;数到第m个人&#xff0c;则立即处死该人&#xff1b;然后从被处死的人之后开始数数&#xff0c;再…

Python Numpy学习(1)

python: np.pad() 函数的用法 np.einsum(爱因斯坦求和约定) python编程之np.isnan()的用法 Python_Numpy库中各种矩阵基本运算 numpy基本加减和取行操作 numpy的加减乘除运算 NumPy 算术函数 TypeError: can’t convert cuda:0 device type tensor to numpy. Use Tenso…

了解linux网络时间服务器

本章主要介绍网络时间服务器。 使用chrony配置时间服务器 配置chrony客户端向服务器同步时间 20.1 时间同步的必要性 些服务对时间要求非常严格&#xff0c;例如&#xff0c;图20-1所示的由三台服务器搭建的ceph集群。 这三台服务器的时间必须保持一致&#xff0c;如果不一致…

【征稿倒计时十天】第三届高性能计算与通信工程国际学术会议(HPCCE 2023)

【有ISSN、ISBN号&#xff01;&#xff01;往届均已完成EI检索】 第三届高性能计算与通信工程国际学术会议(HPCCE 2023) 2023 3rd International Conference on High Performance Computing and Communication Engineering (HPCCE 2023) 2023年12月22-24日 | 中国哈尔滨 第三…

base64 转

$img_base64 substr($res[photo],strrpos($res[photo],,));$img_decode base64_decode($img_base64);$namess time().rand(10000,99999);$cc file_put_contents(img/avatar/.$namess..png,$img_decode);$urlsDS . img . DS . avatar/ .$namess..png;

CSS新手入门笔记整理:CSS溢出声名overflow

通常一个盒子的内容是被限制在盒子边框之内的&#xff0c;但是有时也会溢出&#xff0c;即部 分或者全部内容跑到盒子边框之外。 语法 元素{overflow:取值&#xff1b;} 属性值 说明 visible 若内容溢出&#xff0c;则溢出内容可见&#xff08;默认值&#xff09; hid…

Redis的数据类型以及如何解决大Key问题

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、Redis的数据类型 二、Big Key 2.1 什么是Big Key&#xff1f; 2.2 Big Key产生的场景&#xff1f; 2.3 如何识别Big Key&am…

面试——Java中实现多态的三要素,实现多态的机制是什么?

1.实现多态的三要素&#xff1a; 继承、重写、弗雷德引用指向子类的对象 2.实现多态的机制&#xff1a; 靠的是父类或接口定义的引用变量可以指向子类或具体实现类的实例对象&#xff0c;而程序调用的方法在运行期才动态绑定&#xff0c;就是引用变量所指向的具体实例对象的方法…

数据结构与算法-D5-D7线性表之链表

结点类型描述 程序编写 节点定义 linklist.h linklist.c list_create 1、申请内存 2、赋值 3、返回头结点 list_tail_insert 1、建立一个新结点 2、找尾结点 3、尾部插入 list_show list_insert 链表在某一位置的插入 1、调用算法list_get 2、插入 1&#xff09;新节点 2&a…

MySQL常见的存储引擎(InnoDB、MyISAM)data目录下(.frm,.myi,.myd)

查看支持的存储引擎 SHOW ENGINES;show variables like %storage_engine%; 看你的mysql当前默认的存储引擎:data目录 如果一个表同时有这3个文件&#xff0c;则存储引擎是myisam&#xff1a; &#xff08;1&#xff09;*.frm--表定义&#xff0c;是描述表结构的文件。 &#…

低代码(Low Code):美味膳食还是垃圾食品?如何入门低代码?

文章目录 低代码&#xff1a;美味膳食还是垃圾食品&#xff1f;1. 什么是低代码开发&#xff1f;2. 低代码开发的优势2.1 提高效率2.2 降低门槛 3. 低代码开发的挑战3.1 安全性问题3.2 可扩展性和灵活性问题 4. 低代码开发是美味膳食还是垃圾食品&#xff1f;5. 低代码能否替代…

【Android】查看keystore的公钥和私钥

前言&#xff1a; 查看前准备好.keystore文件&#xff0c;安装并配置openssl、keytool。文件路径中不要有中文。 一、查看keystore的公钥&#xff1a; 1.从keystore中获取MD5证书 keytool -list -v -keystore gamekeyold.keystore 2.导出公钥文件 keytool -export -alias …

基于超声技术的气体流量测量仪设计

摘要 科学地解决能源三气的计量问题&#xff0c;一直是业界困扰的问题。进入二十一世纪以来&#xff0c;用于测量气体流量的超声波流量计以其无压损、无阻力、量程比宽、受流体限制少等优点受到业界的广泛关注。随着国内人民生活水平的提高&#xff0c;科技不断地进步&#xff…