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

leetcode-hot100(283.移动零)

在这里插入图片描述

方法一(遍历两次):

我们可以直接遍历整个数组,将非0元素赋值给另一个数组,之后再在该数组后面补0

class Solution {public void moveZeroes(int[] nums) {int j=0;for(int i = 0 ; i < nums.length ; i ++){if(nums[i]!=0){nums[j]=nums[i];j++;}for(int i=j;i<nums.length;i++){nums[i]=0;}}
}

方法二(遍历一次):

我们定义左右指针,左指针代表已经处理好的数组的尾部,右指针代表未处理数组的头部。如果右指针所指向的元素不为0,则与左指针代表的元素交换位置。并且左右指针都向后移动一位。否则不交换元素,并且只有右指针向右移动一位

class Solution {public void moveZeroes(int[] nums) {int left=0,right=0;for(int i=0;i<nums.length;i++){if(nums[right]!=0){swap(nums,left,right);left++;}right++;}   		 }public void swap(int[] nums,int left,int right){int temp=nums[left];nums[left]=nums[right];nums[right]=temp;}
}
http://www.dtcms.com/a/273675.html

相关文章:

  • 政安晨【零基础玩转开源AI项目】ACE-Step —— 迈向音乐生成基础模型的重要一步:AI自动谱曲与自动演唱的免费开源框架部署实践
  • RLHF:人类反馈强化学习 | 对齐AI与人类价值观的核心引擎
  • python实现DoIP基本通信(收发报文)
  • 第十二章:网络编程
  • Typescript -字面量类型
  • Linux的基础I/O
  • 买小屏幕的时候注意避坑
  • [Java 17] 无模版动态生成 PDF:图片嵌入与动态表格渲染实战
  • Linux磁盘限速(Ubuntu24实测)
  • 算法学习笔记:17.蒙特卡洛算法 ——从原理到实战,涵盖 LeetCode 与考研 408 例题
  • cnpm exec v.s. npx
  • C语言常见面试知识点详解:从入门到精通
  • 亿级流量下的缓存架构设计:Redis+Caffeine多级缓存实战
  • Web安全 - 基于 SM2/SM4 的前后端国产加解密方案详解
  • Flutter优缺点
  • Java学习第三十二部分——异常
  • 【爬虫】- 爬虫原理及其入门
  • 【批量文件查找】如何从文件夹中批量搜索所需文件复制到指定的地方,一次性查找多个图片文件并复制的操作步骤和注意事项
  • 基于Python的豆瓣图书数据分析与可视化系统【自动采集、海量数据集、多维度分析、机器学习】
  • 从Excel到PDF一步到位的台签打印解决方案
  • 学习笔记(34):matplotlib绘制图表-房价数据分析与可视化
  • Java小白-String
  • Allegro 17.4操作记录
  • 平板柔光屏与镜面屏的区别有哪些?技术原理与适用场景全解析
  • 飞算JavaAI:重构Java开发的“人机协同”新范式
  • Python数据读写与组织全解析(查缺补漏篇)
  • 使用Spring Boot和PageHelper实现数据分页
  • 【MySQL】———— 索引
  • 【字节跳动】数据挖掘面试题0016:解释AUC的定义,它解决了什么问题,优缺点是什么,并说出工业界如何计算AUC。
  • 【理念●体系】从零打造 Windows + WSL + Docker + Anaconda + PyCharm 的 AI 全链路开发体系