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

LeetCode:283. 移动零

283. 移动零

  • 1)题目
  • 2)代码
    • 方法一:两层for循环
    • 方法二:使用双指针
  • 3)结果
    • 方法一结果
    • 方法二结果

1)题目

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

示例 1:

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

示例 2:

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

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

进阶:你能尽量减少完成的操作次数吗?

2)代码

方法一:两层for循环

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

方法二:使用双指针

public void moveZeroes(int[] nums) {if (nums.length == 1) return;int left = 0,right = 1;while (right < nums.length) {if (nums[left] == 0) {if (nums[right] != 0) {nums[left] = nums[right];nums[right] = 0;left++;}} else {left++;}right++;}
}

3)结果

方法一结果

在这里插入图片描述

方法二结果

在这里插入图片描述

相关文章:

LeetCode:283. 移动零

283. 移动零 1&#xff09;题目2&#xff09;代码方法一&#xff1a;两层for循环方法二&#xff1a;使用双指针 3&#xff09;结果方法一结果方法二结果 1&#xff09;题目 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的…...

游戏开发丨基于Panda3D的迷宫小球游戏

文章目录 写在前面Panda3D程序设计程序分析运行结果系列文章写在后面 写在前面 本期内容 基于panda3d的迷宫中的小球游戏 所需环境 pythonpycharm或anacondapanda3d 下载地址 https://download.csdn.net/download/m0_68111267/88792121 Panda3D Panda3D是一种开放源代码…...

微信小程序 安卓/IOS兼容问题

一、背景 在开发微信小程序时&#xff0c;不同的手机型号会出现兼容问题&#xff0c;特此记录一下 二、安卓/IOS兼容问题总结 2.1、new Date()时间转换格式时&#xff0c;IOS不兼容 问题&#xff1a;在安卓中时间格式2024-1-31 10:10:10&#xff0c;但是在iOS中是不支持 &q…...

结构体--共用体--枚举 之难点——链表 奋力学习嵌入式的第十六天

结构体 注意&#xff1a; 1.结构体类型 可以定义在 函数里里面 但是此时作用域就被限定在该函数中 2.结构体定义形式 //形式一 限定一类型 后定义变量 struct stu { ... }; struct stu s; //形式二 定义类型的同时 定义变量 struct stu { ... }s1,s2,*s3,s4[10]; struc…...

猜凶手

日本某地发生了一件谋杀案&#xff0c;警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说&#xff1a;不是我。 B说&#xff1a;是C。 C说&#xff1a;是D。 D说&#xff1a;C在胡说 已知3个人说了真话&#xff0c;1个人说的是假话。 现在请根据这…...

python-自动化篇-运维-实现读取日志文件最后一行的时间

文章目录 1. 使用Python打开日志文件2.python读取文件最后一行两种方式3.读取当前时间&#xff0c;进行两者相减&#xff0c;超时报警4.将内容推送到企业微信5. 关闭日志文件整体代码 1. 使用Python打开日志文件 在开始实时读取日志文件之前&#xff0c;我们首先需要打开一个日…...

QT SQL

QT SQL模块提供数据库编程的支持&#xff0c;支持多种常见的数据库&#xff1a;MySQL\Oracle\MS SQL Server\SQLite等。SQL模块包含多个类&#xff0c;可以实现&#xff1a;数据库连接、SQL语句执行、数据获取与界面显示 等功能。数据 与 界面间用Model\View架构。 一、 二、Q…...

C++(20):通过concept及nlohmann将数据转换为字符串

nlohmann可以自动兼容将C++的很多原生类型转换为json,甚至自定义类型也不需要太复杂的操作就可以转换为json,可以利用这一点将数据转换为string: #include <nlohmann/json.hpp> #include <string> #include <vector> #include <tuple> #include <…...

Transformer 自然语言处理(四)

原文&#xff1a;Natural Language Processing with Transformers 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十章&#xff1a;从头开始训练变换器 在本书的开头段落中&#xff0c;我们提到了一个名为 GitHub Copilot 的复杂应用&#xff0c;它使用类似 GPT 的…...

BRAIN :帕金森病中与痴呆相关的动态功能连接改变

fMRI成像手段由于其在高空间分辨率的优势获得了疾病研究的青睐&#xff0c;越来越多的疾病研究使用fMRI手段来通过找到特异的神经标记物从而提升临床治疗的诊断效力以及准确率。但是&#xff0c;功能磁共振受到其时间分辨率相对较低这一缺点的影响&#xff0c;在对疾病时间特异…...

harmony os系统

因为实验室配的是Windows电脑&#xff0c;最近在搜索marginnote有没有windows的版本&#xff0c;不然好多功能相似的软件在使用不能信息同步是挺麻烦的。搜索结果当然还是没有对应版本。那我退而求其次&#xff0c;看看怎么在Windows上使用marginnote&#xff0c;结果大家意见基…...

2024美赛数学建模A题思路源码——七鳃鳗性别比例和生态系统关系

赛题目的:分析一个物种根据资源可用性改变其性别比例的能力的利弊。开发一个模型,分析对生态系统中由此产生的相互作用。 问题一.七鳃鳗性别比例对生态系统的影响 问题分析 建立一个简化版的模型,来探讨以下问题: 1.我们假设七鳃鳗种群的增长遵循Logistic生长模型,其中食…...

C语言的基础学习

C语言的变量 ## C语言中的变量 在C语言中,变量是对程序中数据所占内存空间的一种抽象定义。定义变量时,用户定义变量的名、变量的类型,这些都是变量的操作属性。不仅可以通过变量名访问该变量,系统还通过该标识符确定变量在内存中的位置 [❷](https://www.dotcpp.com/cour…...

PostGIS教程学习二十二:使用触发器追踪历史编辑操作

PostGIS教程学习二十二&#xff1a;使用触发器追踪历史编辑操作 生产环境下数据库的一个常见要求是能够跟踪用户编辑数据的历史&#xff1a;数据在两个日期之间是如何变化的&#xff0c;是谁操作的&#xff0c;以及它们哪些内容变化了&#xff1f;一些GIS系统通过在客户端接口…...

【PTA浙大版《C语言程序设计(第4版)》编程题】练习7-4 找出不是两个数组共有的元素(附测试点)

目录 输入格式: 输出格式: 输入样例: 输出样例: 代码呈现 测试点 给定两个整型数组&#xff0c;本题要求找出不是两者共有的元素。 输入格式: 输入分别在两行中给出两个整型数组&#xff0c;每行先给出正整数N&#xff08;≤20&#xff09;&#xff0c;随后是N个整数&a…...

C++面试:数据库不同存储引擎的区别以及如何选择

目录 基础 具体选择原则 Mysql如何选择 创建表时指定存储引擎 修改现有表的存储引擎 查看表的存储引擎 注意事项 总结 在数据库管理系统中&#xff0c;不同的存储引擎提供了不同的存储机制、索引技术、锁定水平和其他功能。以MySQL为例&#xff0c;它支持多种存储引擎&…...

HTML -- 常用标签

目录 HTML 标签 单标签 双标签 常见标签的使用 标题和段落 换行、分隔、超链接 列表标签 表单标签 属性 属性的使用 HTML HTML&#xff08;Hyper Text Markup Language&#xff09;&#xff0c;超文本标记语言&#xff0c;是一门标记语言&#xff0c;不是编程语言&am…...

【Qt】QInputDialog setGeometry: Unable to set geometry 问题

【Qt】QInputDialog setGeometry: Unable to set geometry 问题 文章目录 I - 问题背景II - 解决办法III - 参考链接 I - 问题背景 创建了一个 QMainWindow 并在上边创建了布局&#xff0c;尝试调用 QInputDialog 的 getInt 静态方法&#xff0c;结果运行时出现了以下警告 QW…...

Flink问题解决及性能调优-【Flink rocksDB读写state大对象导致背压问题调优】

RocksDB是Flink中用于持久化状态的默认后端&#xff0c;它提供了高性能和可靠的状态存储。然而&#xff0c;当处理大型状态并频繁读写时&#xff0c;可能会导致背压问题&#xff0c;因为RocksDB需要从磁盘读取和写入数据&#xff0c;而这可能成为瓶颈。 遇到的问题 Flink开发…...

代码随想录算法训练营第二十四天|● 理论基础 ● 77. 组合

仅做学习笔记&#xff0c;详细请访问代码随想录 ● 理论基础 ● 77. 组合 ● 理论基础 回溯法解决的问题 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合 切割问题&#xff1a;一个字符串按一定规则有几…...

IM1281B电量计模块避坑指南:从接线到数据解析的全流程实战

IM1281B电量计模块实战全解析&#xff1a;从硬件对接到数据处理的完整解决方案 在智能电表、能耗监测和物联网设备开发中&#xff0c;精确测量电能消耗是核心需求之一。IM1281B作为一款高性价比的单相电能计量模块&#xff0c;以其Modbus通信协议和直接电能脉冲输出功能&#x…...

技术深度解析:logitech-pubg项目实现PUBG后坐力控制的Lua脚本架构设计

技术深度解析&#xff1a;logitech-pubg项目实现PUBG后坐力控制的Lua脚本架构设计 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 在竞技射击游戏…...

属于超级学习者的时代!中国学者用三种策略找到放射组学预测模型的最佳算法

源自风暴统计网&#xff1a;一键统计分析与绘图的网站由于可以使用大量数据进行训练&#xff0c;还能整合基因图谱、影像、脑电图、生理数据等多种数据源&#xff0c;因此机器学习&#xff08;ML&#xff09;算法特别适合个体化医疗。今天分享一篇基于集成机器学习&#xff0c;…...

Python数据分析项目实战(044)——Pandas数据导出常用方法

版权声明 本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl to_csv() 作用:将DataFrame数据导出为CSV(逗号分隔值)格式文件,是最常用的数据导出格式之一。 import pandas as pddata = {姓名: [张三, 李四<...

驱动管理工具:释放磁盘空间的开源解决方案

驱动管理工具&#xff1a;释放磁盘空间的开源解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 当你的系统频繁弹出磁盘空间不足警告&#xff0c;而C盘又找不到明显的大文件时&am…...

台式电脑怎么连接打印机 4种方法详细教程

台式电脑连接打印机的方法多种多样&#xff0c;具体选择取决于打印机类型和使用环境。合理选择连接方式&#xff0c;不仅能提高打印效率&#xff0c;还能减少后续使用中的故障问题。下面将详细介绍几种常见的连接方法及操作步骤。 一、通过USB数据线连接 这种方式最为直接常见…...

腾讯混元OCR实战体验:上传图片秒出文字,支持100多种语言识别

腾讯混元OCR实战体验&#xff1a;上传图片秒出文字&#xff0c;支持100多种语言识别 1. 产品概述与核心优势 1.1 什么是腾讯混元OCR 腾讯混元OCR是基于腾讯混元原生多模态架构开发的轻量化文字识别系统。这个工具最吸引人的地方在于&#xff0c;它只需要1B&#xff08;10亿&…...

忍者像素绘卷代码实例:Python调用Z-Image-Turbo-rinaiqiao模型避坑指南

忍者像素绘卷代码实例&#xff1a;Python调用Z-Image-Turbo-rinaiqiao模型避坑指南 1. 环境准备与快速部署 在开始使用忍者像素绘卷之前&#xff0c;我们需要先搭建好Python环境并安装必要的依赖库。这个模型基于Z-Image-Turbo深度优化&#xff0c;特别适合生成16-Bit复古风格…...

FireRed-OCR Studio企业应用:银行开户资料图像→KYC字段结构化提取

FireRed-OCR Studio企业应用&#xff1a;银行开户资料图像→KYC字段结构化提取 1. 金融文档数字化的挑战与机遇 在银行开户业务中&#xff0c;客户需要提交身份证、营业执照、税务登记证等多种纸质材料。传统人工录入方式存在三个核心痛点&#xff1a; 效率瓶颈&#xff1a;…...

如何用AI将视频从24FPS提升到120FPS?Video2X帧插值技术全解析

如何用AI将视频从24FPS提升到120FPS&#xff1f;Video2X帧插值技术全解析 【免费下载链接】video2x A machine learning-based video super resolution and frame interpolation framework. Est. Hack the Valley II, 2018. 项目地址: https://gitcode.com/GitHub_Trending/v…...