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

二、双指针——5. 移动零

二、双指针——5. 移动零

  • 题目描述
  • 示例
    • 示例1:
    • 示例2:
  • 思路
  • 代码

题目描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例

示例1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例2:

输入: nums = [0]
输出: [0]

思路

从左到右遍历 nums[i]。

每次遇到 nums[i]不等于0 的情况,就把 nums[i] 移动到最左边的空位上,也就是交换 nums[i] 和 nums[i0]。交换后把 i0和 i 都加一,从而使【[i0 ,i−1] 都是空位】这一性质仍然成立。

代码

class Solution {public void moveZeroes(int[] nums) {int left = 0;for (int i = 0; i < nums.length; i++) {if (nums[i] != 0){int temp = nums[i];nums[i] = nums[left];nums[left] = temp;left++;}}}
}
http://www.lryc.cn/news/545064.html

相关文章:

  • 论文笔记-NeurIPS2017-DropoutNet
  • php 对接mqtt 完整版本,订阅消息,发送消息
  • 谈谈 ES 6.8 到 7.10 的功能变迁(6)- 其他
  • 【苍穹外卖】问题笔记
  • 脑机接口SSVEP 信号特征提取技术术语
  • 【Veristand】Veristand 预编写教程目录
  • C#光速入门的指南
  • 深入探索 STM32 微控制器:从基础到实践
  • Oracle性能调优(一):时间模型统计
  • 前端Npm面试题及参考答案
  • 记一次线上Tomcat服务内存溢出的问题处理
  • nist关于rsa中p,q的要求
  • Vue3项目如何使用TailWind CSS保姆级教程
  • NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
  • Mysql的索引失效
  • 现代前端框架渲染机制深度解析:虚拟DOM到编译时优化
  • set 和 map 的左右护卫 【刷题反思】
  • 【Linux高级IO】多路转接(poll epoll)
  • Linux上用C++和GCC开发程序实现两个不同PostgreSQL实例下单个数据库中多个Schema稳定高效的数据迁移到其它PostgreSQL实例
  • Linux下的网络通信编程
  • Windows在多网络下指定上网接口
  • 网络安全员证书
  • CMU15445(2023fall) Project #4 - Concurrency Control踩坑历程
  • 医疗AR眼镜:FPC如何赋能科技医疗的未来之眼?【新立电子】
  • Python从0到100(八十九):Resnet、LSTM、Shufflenet、CNN四种网络分析及对比
  • 服务器迁移记录【腾讯云-->阿里云】
  • 序列化选型:字节流抑或字符串
  • 面向实时性的超轻量级动态感知视觉SLAM系统
  • 4-3自定义加载器,并添加功能
  • Python Scrapy爬虫面试题及参考答案