【力扣 Hot100 | 第七天】4.22(移动零)

embedded/2024/10/20 18:50:35/

在这里插入图片描述

文章目录

  • 1.移动零
    • 1.1题目
    • 1.2解法:双指针
      • 1.2.1双指针思路
      • 1.2.2代码实现

1.移动零

1.1题目

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

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

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

1.2解法:双指针

1.2.1双指针思路

  • 使用快慢指针:
    • 若快指针指向非0的数,则与慢指针交换数,快慢指针同时向前移动
    • 若快指针指向0的数,则移动快指针即可,慢指针不能移动
    • 确保0的数可以换到最后面

1.2.2代码实现

java">	public void moveZeroes(int[] nums) {int len=nums.length;int left=0;int right=0;while(right<len){//1、若右指针指向的值不为空,则和左指针交换if(nums[right]!=0){int tmp=nums[left];nums[left]=nums[right];nums[right]=tmp;left++;}right++;}}

在这里插入图片描述


http://www.ppmy.cn/embedded/7999.html

相关文章

find和grep查找搜索命令常用的一些使用方式

目录 find和grep查找搜索命令常用的一些使用方式 一、find命令 二、grep命令 find和grep查找搜索命令常用的一些使用方式 一、find命令 我们知道在Windows系统中想要搜索查找文件&#xff0c;一般需要满足两个条件&#xff1a; 1、知道在哪些目录中查找 2、知道查找的内容&…

物联网智能互联创新开发平台

物联网智能互联创新开发平台在职业教育方面的发展前景广阔且充满潜力。随着物联网技术的不断发展和应用领域的扩大&#xff0c;对物联网专业人才的需求也在日益增长。因此&#xff0c;物联网智能互联创新开发平台在职业教育领域的应用将具有重要意义。 一、发展前景 1) 为职业…

mysql 视图

学习了mysql 存储过程和函数&#xff0c;继续学习mysql视图 1&#xff0c;视图概述 视图是从一个或者多个表中导出的&#xff0c;视图的行为与表非常相似&#xff0c;但视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据&#xff0c;以及使用INSERT、UPDATE 和DELETE修…

C语言函数中如何传递指针?

一、问题 如何在函数中传递指针&#xff1f; 二、解答 在定义函数时&#xff0c;可以使⽤指针作为函数的形参。请看如下代码。 fs(int *a,int *b) {int t;t *a;*a *b;*b t; } 对于上⾯这样⼀个使⽤指针变量作为形参的函数&#xff0c;在调⽤的时候就要注意了&#xff0c;因…

OpenUI在windows下部署使用

OpenUI OpenUI是一个基于Python的AI对话平台&#xff0c;支持接入多种AI模型。 通过聊天的方式来进行UI设计&#xff0c;你可以通过文字来描述你想要的UI界面&#xff0c;OpenUI可以帮你实时进行渲染出效果 安装OpenUI 这里预设你的电脑上已安装git、Python和pip&#xff0…

【Kyuubi】Apache Kyuubi 1.8 特性解读

Apache Kyuubi 1.8 特性解读 1.Apache Kyuubi 简介2.场景扩展 —— 在线分析&#xff0c;离线跑批3.流式增强 —— 流批一体&#xff0c;面向未来4.企业特性 —— 行业沉淀&#xff0c;持续打磨5.开源社区 —— 开放包容&#xff0c;合作共赢 本文来自于 Apache Kyuubi PMC Mem…

利用 Python 开发手机 App 实战

Python语言虽然很万能&#xff0c;但用它来开发app还是显得有点不对路&#xff0c;因此用Python开发的app应当是作为编码练习、或者自娱自乐所用&#xff0c;加上目前这方面的模块还不是特别成熟&#xff0c;bug比较多&#xff0c;总而言之&#xff0c;劝君莫轻入。 准备工作 …

C# lock

在C#中&#xff0c;lock是一个关键字&#xff0c;用于实现同步&#xff0c;确保当一个线程正在执行某个代码块时&#xff0c;其他线程将等待直到该线程完成该代码块的执行。这是通过在代码块周围放置一个锁来实现的&#xff0c;这个锁是一个独特的对象&#xff0c;其他线程在尝…