移动零(双指针)

1、题目

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

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

示例 1:

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

示例 2:

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

 2、代码

class Solution {public void moveZeroes(int[] nums) {if(nums==null) {return;}//第一次遍历的时候,j指针记录非0的个数,只要是非0的统统都赋给nums[j]int j = 0;for(int i=0;i<nums.length;++i) {if(nums[i]!=0) {nums[j++] = nums[i];}}//非0元素统计完了,剩下的都是0了//所以第二次遍历把末尾的元素都赋为0即可for(int i=j;i<nums.length;++i) {nums[i] = 0;}}
}	

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

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

相关文章

yolo-nas无人机高空红外热数据小目标检测(教程+代码)

前言 YOLO-NAS是目前最新的YOLO目标检测模型。从一开始&#xff0c;它就在准确性方面击败了所有其他 YOLO 模型。与之前的 YOLO 模型相比&#xff0c;预训练的 YOLO-NAS 模型能够以更高的准确度检测更多目标。但是我们如何在自定义数据集上训练 YOLO NAS&#xff1f; 这将是我…

JavaScript高级 class类篇

1、class类的实现 class的基本结构 定义及用法&#xff1a;class关键字定义类&#xff0c;创建构造函数&#xff0c;类名首字母大写 语法结构&#xff1a; class 类名{constructor(参数1,参数2){// 构造函数体&#xff0c;添加实例对象成员}方法名(){// 添加原型对象成员}s…

深入理解Java虚拟机jvm-内存分配与回收

对象优先在Eden分配 新生代总可用空间Eden区1个Survivor区&#xff08;from区&#xff09;的总容量 大多数情况下&#xff0c;对象在新生代Eden区中分配当Eden区没有足够空间进行分配时&#xff0c;虚拟机将发起一次Minor GC存活下来的对象放入Survivor当对象无法放入Survivor空…

效果图云渲染是什么意思?如何渲染出照片级别的效果图?

​在当前的建筑规划、室内装修以及电影视效制作等行业内&#xff0c;制作高质量的效果图起着至关重要的作用&#xff0c;因为它能够给予观众或客户极为逼真和吸引人的视觉体验。在此篇文章中&#xff0c;我们将深入了解什么是云端效果图渲染&#xff0c;并探讨如何运用Renderbu…

MySQL 分表真的能提高查询效率?

背景 首先我们以InnoDB引擎&#xff0c;BTree 3层为例。我们需要先了解几个知识点&#xff1a;页的概念、InnoDB数据的读取方式、什么是树搜索&#xff1f;、一次查询花费的I/O次数&#xff0c;跨页查询。 页的概念 索引树的页&#xff08;page&#xff09;是指存储索引数据…

7-1 建立二叉搜索树并查找父结点(PTA - 数据结构)

按输入顺序建立二叉搜索树&#xff0c;并搜索某一结点&#xff0c;输出其父结点。 输入格式: 输入有三行&#xff1a; 第一行是n值&#xff0c;表示有n个结点&#xff1b; 第二行有n个整数&#xff0c;分别代表n个结点的数据值&#xff1b; 第三行是x&#xff0c;表示要搜索值…

Kylin基础知识点解析与应用探索

目录 学习目标&#xff1a; 学习内容&#xff1a; 学习时间&#xff1a; 学习产出&#xff1a; Kylin简介 什么是Kylin Kylin的历史和发展 Kylin在大数据领域的地位和作用 Kylin架构 Kylin的组成部分和模块 Kylin的工作原理和流程 Kylin与其他大数据组件的关系和集成 Kylin功能…

Java8为什么要引入流Stream API

Java8为什么要引入流Stream API Java 8引入流&#xff08;Stream&#xff09;API的主要原因是为了提供一种更高效、更简洁、更易于阅读和维护的方式来处理数据集合&#xff0c;尤其是在处理大量数据时。流API引入了一种新的抽象层&#xff0c;使得数据处理操作可以更加直观和函…

链接未来:深入理解链表数据结构(二.c语言实现带头双向循环链表)

上篇文章简述讲解了链表的基本概念并且实现了无头单向不循环链表&#xff1a;链接未来&#xff1a;深入理解链表数据结构&#xff08;一.c语言实现无头单向非循环链表&#xff09;-CSDN博客 那今天接着给大家带来带头双向循环链表的实现&#xff1a; 文章目录 一.项目文件规划…

STM32F072 CAN and USB

1 通用描述 1.1 STM8 MOSTek 6502 -> ST7 -> STM8 STM8型号单片机分为STM8A、STM8L、STM8S三个系列。 STM8A&#xff1a;汽车级应用 STM8L&#xff1a;超低功耗MCU STM8S&#xff1a;标准系列 1.2 STM32 - F1系列用的最多&#xff0c;最大工作频率72MHz - STM32固件库&am…

Java商城免 费 搭 建:VR全景到SAAS,各种模式一网打尽!

一、技术选型 java开发语言&#xff1a;java是一种跨平台的编程语言&#xff0c;适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架&#xff1a;spring boot是一个快速构建spring应用的框架&#xff0c;简化了开发过程&#xf…

SpringMVC系列之技术点定向爆破一

对SpringMVC的技术点进行逐个拆解&#xff0c;定向爆破。 DispatcherServlet详解 DispatcherServlet中init-param的配置 DispatcherServlet负责接收除“.jsp”外的所有请求并交给Spring处理。因此DispatcherServlet需要优先启动。同时需要加载spring容器的配置&#xff0c;目…

找出将要运行的命令的版本

which 回想一下whereis命令&#xff0c;以及用-b选项只查询KWord的二进制文件信息时发生的情况。 $ whereis -b kword kword: /usr/bin/kword /usr/bin/X11/kword 在两个位置都有KWord的可执行文件。但是哪一个文件会先运行呢&#xff1f;运行which命令就可以得到答案。 $ whi…

导入conda虚拟环境的lib

用 conda 虚拟环境跑代码&#xff0c;import scipy 时报错&#xff1a; ImportError: /lib64/libstdc.so.6: version GLIBCXX_3.4.29 not found (required by /data/itom/miniconda3/envs/cu116_pt1131/lib/python3.9/site-packages/scipy/spatial/_ckdtree.cpython-39-x86_64…

人工智能对网络安全的影响

技术的快速发展带来了不断增长的威胁环境&#xff0c;网络犯罪分子和恶意行为者利用我们互联世界中的漏洞。在这个数字时代&#xff0c;数据泄露和网络攻击呈上升趋势&#xff0c;仅靠传统的安全措施已经不够了。人工智能 &#xff08;AI&#xff09; 的进步彻底改变了网络安全…

165. 小猫爬山(DFS之剪枝与优化)

165. 小猫爬山 - AcWing题库 翰翰和达达饲养了 N 只小猫&#xff0c;这天&#xff0c;小猫们要去爬山。 经历了千辛万苦&#xff0c;小猫们终于爬上了山顶&#xff0c;但是疲倦的它们再也不想徒步走下山了&#xff08;呜咕>_<&#xff09;。 翰翰和达达只好花钱让它们…

LeetCode 1671. 得到山形数组的最少删除次数

一、题目 1、题目描述 我们定义 arr 是 山形数组 当且仅当它满足&#xff1a; arr.length > 3存在某个下标 i &#xff08;从 0 开始&#xff09; 满足 0 < i < arr.length - 1 且&#xff1a; arr[0] < arr[1] < ... < arr[i - 1] < arr[i]arr[i] > …

SQL Server动态化列名数据

SQL Server动态化列名数据 DECLARE ColumnName NVARCHAR(100) SET ColumnName 总数 CAST(DATEPART(HOUR, GETDATE()) AS NVARCHAR) 点前派单 DECLARE Sql NVARCHAR(MAX) SET Sql SELECT COUNT(1) AS QUOTENAME(ColumnName) FROM MBHZJ_GD WHERE "SN码" IS N…

LeetCode 21 合并两个有序链表

题目描述 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [],…

由浅入深走进Python异步编程【多进程】(含代码实例讲解 || multiprocessing、异步进程池、进程通信)

写在前面 从底层到第三方库&#xff0c;全面讲解python的异步编程。这节讲述的是python的多线程实现&#xff0c;纯干货&#xff0c;无概念&#xff0c;代码实例讲解。 本系列有6章左右&#xff0c;点击头像或者专栏查看更多内容&#xff0c;陆续更新&#xff0c;欢迎关注。 …