双指针技巧-移动零(java)

news/2024/10/17 17:20:33/

移动零

  • leetcode 283 题,移动零
  • 题目描述
  • 解题思路
  • 代码演示
  • 指针技巧专题

leetcode 283 题,移动零

leetcode 283 题。原题链接,可打开测试
https://leetcode.cn/problems/move-zeroes/

题目描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。

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

示例2:
输入: nums = [0]
输出: [0]

解题思路

建立两个指针,i 和 j
i 是数组下标,来遍历数组
j 用来将非0元素,从0开始赋值,类似于
[0,2,1] -> [2,1,] j 此时来到下标1位置,
然后把剩下的空缺用0 补全。

代码演示

 public void moveZeroes(int[] nums) {int j = 0;for(int i = 0; i < nums.length;i++){if(nums[i] != 0){//此时j 来到非0的最右位置nums[j++] = nums[i];}}//给剩余的位置 补上0for( ;j < nums.length;){nums[j++] = 0;}}

指针技巧专题

分隔链表


http://www.ppmy.cn/news/123335.html

相关文章

express的使用(三) multer处理表单提交

个人博客 欢迎关注公众号:express的使用(三) multer处理表单提交 看前提示 本篇的主要流程是使用在前端提交一个文件&#xff0c;在nodejs编写的后端使用multer以及express进行接收&#xff0c;包括遇到的版本问题&#xff0c;如果是想要学习用body-parser、formidable、mul…

如何判断一个点是否在凸多边形内 - golang

判断一个点是否在凸多边形内的方法很多&#xff0c;此处仅给出使用向量叉积法判断点是否在凸多边形内的方法。 以下图为例说明问题&#xff1a; 原理&#xff1a; 1. 将多边形的第 i 条边的第一个顶点指向点 P 得到向量 v1&#xff0c;然后将从第一个顶点指向第二个顶点得到向…

uniapp-前端 二维码、扫码、长按、识别等问题

一&#xff1a;识别&#xff1a;图片二维码url&#xff1a; 后端返回二维码的图片url&#xff0c;则直接展示&#xff0c;做长按手势识别&#xff0c;再调用方法即可。 <mage>标签长按识别实现&#xff08;微信版本>2.7.0&#xff09; <image show-menu-by-long…

ROM RAM和硬盘的区别

文章目录 ROMPROMEPROMOTPROMEEPROM Flash MemonyRAMSRAMDRAM 硬盘虚拟内存 ROM ROM全称 Read Only Memony&#xff0c;为只读存储器&#xff0c;最开始的 ROM 存储信息后就不能更改&#xff0c;但是经过发展&#xff0c;ROM也可以更改存储信息。 PROM 可编程程序只读存储器…

2. 虚拟环境

一、为什么要搭建虚拟环境&#xff1f; 在实际开发过程中&#xff0c;多个程序可能需要调试各种版本的不同环境&#xff0c;比如不同的Python解释器&#xff0c;不同的flask版本 二、如何搭建虚拟环境&#xff1f; 什么是虚拟环境&#xff1f; 它就是一个特殊的文件夹&…

[20161216]关于library cache lock.txt

[20161216]关于library cache lock.txt --这几天一直在关注这个链接,http://www.itpub.net/thread-2073170-1-1.html --就是library cache lock导致挂死业务,一般引起这个问题编译包,而应用正好在使用执行这个包,以及11g口令大小写导致无法登录的问题, --我自己很久以前也遇到过…

perl DBD Informix install and test

转载: http://heyiyi.blog.51cto.com/205455/1600615 1.安装Informix_Client_SDK 1)root用户登录&#xff0c;添加informix home目录、组、用户 # mkdir -p /opt/informix # groupadd informix # useradd -G informix -d /opt/informix informix # passwd informix # chown inf…

Vistor简介

Vistor简介 Vistor虚拟带库系统是cofio公司的一款虚拟带库软件解决方案&#xff0c;用来实现高性能的磁盘备份&#xff0c;同真实带库一样的磁带管理机制提高了管理效率。Vistor支持iscsi和FC&#xff0c;可以模拟多种型号的磁带库&#xff0c;允许创建多个不同的带库&#xff…