移动零

devtools/2024/11/20 2:54:03/

移动零

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

1、题目描述

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

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

在这里插入图片描述

2、解答思路

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

java">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.ppmy.cn/devtools/135360.html

相关文章

React中使用echarts写出3d旋转扇形图

效果 技术 React TypeScript Less Echarts 代码块 import * as echarts from "echarts"; import React, { useEffect, useRef } from "react"; import "echarts-gl"; import "./index.less";const LeftEcharts () > {const ch…

WordCloudStudio:全面支持Web端,随时随地创建精彩文字云

在当今视觉化表达日益重要的时代&#xff0c;文字云成为了一种流行的内容呈现形式。无论是用于展示数据、分享创意&#xff0c;还是提高内容吸引力&#xff0c;文字云都能带来意想不到的效果。https://wordcloudstudio.com/ 作为文字云制作的领先工具&#xff0c;现在全面支持W…

Redis自学之路—基础数据结构具体方法解析(五)

目录 简介 数据结果具体方法解析 字符串(String) 操作命令 set设置值 setex setnx get获取值 del删除key mset批量设置值 incr数字运算 append追加指令 strlen字符串长度 getset设置并返回原值 setrange设置指定位置的字符 getrange截取字符串 命令的时间复杂…

Python学习26天

集合 # 定义集合 num {1, 2, 3, 4, 5} print(f"num&#xff1a;{num}\nnum数据类型为&#xff1a;{type(num)}") # 求集合中元素个数 print(f"num中元素个数为&#xff1a;{len(num)}") # 增加集合中的元素 num.add(6) print(num) # {1,2,3,4,5,6} # 删除…

基于微信小程序的河池旅游设计与实现

一、前言 随着移动互联网的快速发展&#xff0c;微信小程序以其便捷性、无需安装等优势受到广泛关注。河池拥有丰富的旅游资源&#xff0c;包括独特的自然风光&#xff08;如巴马长寿之乡的山水、宜州下枧河风光等&#xff09;、多彩的民族文化&#xff08;如壮族铜鼓文化、仫佬…

RTSP播放器EasyPlayer.js播放器UniApp或者内嵌其他App里面webview需要截图下载

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、Mp3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

千帆启航,人才先行 | 讯方技术HarmonyOS人才训练营

HarmonyOS NEXT鸿蒙星河版已于1月份面向开发者开放申请&#xff0c;鸿蒙原生应用厂商正在加速开发&#xff0c;预计2024年中旬&#xff0c;将覆盖5000个头部App&#xff0c;鸿蒙原生应用版图基本成型&#xff0c;未来HarmonyOS将继续赋能千行百业。 为响应鸿蒙生态发展对人才需…

设备如何连接到 MySQL Server

通常,设备或其他系统(如你的监控设备)会通过 TCP/IP 协议 连接到 MySQL 服务器。这通常包括以下步骤: 配置 MySQL 允许远程连接 MySQL 默认仅允许本地连接(即只能从 MySQL 服务器所在的机器访问)。要允许远程连接,需要修改 MySQL 配置文件 my.cnf,通常位于 /etc/mysql/…