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

移动零

移动零

  • 1、题目描述
  • 2、解答思路

1、题目描述

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

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

在这里插入图片描述

2、解答思路

已知数组后端若干元素为0,因此只需遍历查询到非零元素并依次赋值到数组前端(无需交换),最后将后端的值均设置为0即可。

class Solution {public void moveZeroes(int[] nums) {// 用于记录非零元素的下标int index = 0;for (int i = 0; i < nums.length; i++) {if(nums[i]!=0) {// 将非零元素依次赋值给nums[index],因此相对顺序也不会变nums[index++] = nums[i];}}// 从最后一个非零元素到末尾,均赋值为0for (int i = index; i < nums.length; i++) {nums[i] = 0;}}
}
  • 本题关键点在于下标 i 和 index 的变化,i 用于遍历整个数组,index 用于存储非零元素。
  • 时间复杂度:o(n)。主要时间花销是for循环遍历整个数组。
http://www.lryc.cn/news/487325.html

相关文章:

  • C#编写的日志记录组件 - 开源研究系列文章
  • 猎板PCB罗杰斯板材的应用案例
  • 使用esp32c3开发板通过wifi连网络web服务器
  • 供应链管理、一件代发系统功能及源码分享 PHP+Mysql
  • Windows docker下载minio出现“Using default tag: latestError response from daemon”
  • 工厂模式-简单工厂模式
  • 【linux】使用minicom调试串口
  • C# 异常处理、多个异常、自定义异常处理
  • 【从零开始的LeetCode-算法】3210. 找出加密后的字符串
  • redis linux 安装
  • springboot006基于SpringBoot的网上订餐系统(源码+包运行+LW+技术指导)
  • 【QNX】QNX侧如何抓取日志?
  • 深度学习:计算卷积神经网络中输出特征图尺寸的关键公式
  • 【惠州大亚湾】之维修戴尔服务器DELLR730XD
  • 跟我学C++中级篇——Design Patterns的通俗说法
  • 消息队列原理面试题及参考答案
  • 有序数组的平方(leetcode 977)
  • 网页抓取API,让数据获取更简单
  • 23.<Spring图书管理系统(强制登录版本)>
  • 【插件】重复执行 pytest-repeat
  • pip/conda install bugs汇总
  • 通过shell脚本分析部署nginx网络服务
  • Java基础——继承和多态
  • 长江存储嵌入式面试题及参考答案
  • WordPress设置自动更新CSS版本号
  • 【Qt聊天室】客户端实现总结
  • 服务器数据恢复—raid5阵列故障导致上层系统分区无法识别的数据恢复案例
  • mysql bin log分析
  • 深入理解 Vue 3 中的 emit
  • #lwIP 的 Raw API 使用指南