首页 > 其他分享 >283. 移动零

283. 移动零

时间:2024-09-08 20:51:56浏览次数:11  
标签:right nums int 指针 数组 283 移动 left

题目描述:

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

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

思路:利用双指针法,左指针指像已经处理好序列尾部,右指针指向未处理序列头部。右指针不断向右移动,遍历每一个元素,当指向非零元素时,则调用交换函数对位置进行调换。同时左指针也进行移动。

class Solution {
    public void moveZeroes(int[] nums) {
      int n =nums.length;
      int left=0,right=0;
      while(right< n)
      {
        if(nums[right]!=0)
        {
            swap(nums,left,right);
            left++;
        }
      
            right++;
      }
    }
    public void swap(int[]nums,int left,int right) //进行数组间元素位置交换
    {  
        int temp=nums[left];
        nums[left] = nums[right];
        nums[right] = temp;
    }
}

标签:right,nums,int,指针,数组,283,移动,left
From: https://blog.csdn.net/m0_64774409/article/details/141954906

相关文章

  • MainWindow中监视鼠标移动事件
    实现步骤:重写mouseMoveEvent方法,在其中处理鼠标移动事件。确保MainWindow捕捉到鼠标移动事件,这通常需要启用鼠标追踪(mousetracking),因为默认情况下,鼠标移动事件只在按住鼠标按钮时触发。示例代码:#include<QApplication>#include<QMainWindow>#include<QMouseEvent>......
  • 【Qt】窗口移动和大小改变事件
     窗口移动和大小改变事件moveEvent窗口移动时触发的事件resizeEvent窗口大小改变时触发的事件例子:测试移动窗口和改变窗口事件 代码展示#include"widget.h"#include"ui_widget.h"#include<QDebug>#include<QMoveEvent>#include<QResizeEvent>Widget::Wi......
  • Windows 11 登录后黑屏,只有一个可以移动的鼠标
    Windows11登录后黑屏,只有一个可以移动的鼠标,但是还能打开任务管理器,点击任务管理器顶部的“文件”>“运行新任务”按钮,按以下步骤操作:→输入:msconfig(按下Enter键)点击上面的“服务”勾选下面的“隐藏所有Microsoft服务”(请务必勾选)点击“全部禁用”。然后回到任务管......
  • 5G时代下的移动应用性能优化与安全挑战
    随着第五代移动通信技术(5G)的商用部署,移动应用迎来了前所未有的发展机遇,同时也面临着性能优化与安全挑战的双重考验。5G技术以其高带宽、低延迟和大连接数的特点,为移动应用提供了更强大的网络支撑,但同时也对应用的性能表现和安全防护提出了更高的要求。本文将结合实际案例,深入......
  • 增强现实与虚拟现实技术在移动应用中的新应用
    随着科技的飞速发展,增强现实(AR)与虚拟现实(VR)技术已不再局限于传统的游戏和娱乐领域,而是逐渐渗透到移动应用的各个角落,为用户带来前所未有的沉浸式体验。本文将结合实际案例,深入分析增强现实与虚拟现实技术在移动应用中的新应用,并探讨其背后的技术原理和发展趋势。一、增强现实......
  • 基于python+flask框架的基于移动平台的河长系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,河流作为城市生态系统的重要组成部分,其健康状况直接关系到居民的生活质量与城市可持续发展。然而,传统的河流管理模式......
  • 【内网渗透+横向移动】远程执行:远程桌面调用
    远程桌面协议(RemoteDesktopProtocol,RDP)查询注册表确定是否主机开启了远程桌面regquery"HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer"/vfDenyTSConnections#若字段值为0,则表示已启动RDP;若为1,则表示禁用RDP开启远程桌面#开启远程桌面regadd"HKLM\S......
  • 中国移动魔百盒CM201-2 YS刷机救砖 全网最细节教程 保姆式教学
    首先还是一句声明,本人在校高中生,不经常写博客文章,有观感上的格式问题还请谅解!有不足之处欢迎指出!ok以下是正文算了先引入一下吧,不然觉得怪怪的电视盒子应该都不陌生,但是大多数电视盒子一打开全是广告,而且几乎看什么都要钱,这很难不让人产生刷机的想法,市面上也有很多第三方刷......
  • C#开发移动应用系列(4.调用系统应用,以及第三方应用(调用与被调用))
    写完这篇..本系列基本也就结束了.看完这些,基本做个Webapp应该是毫无问题的了..其实略微有点伤感,Xamarin确实是好东西..奈何,生不逢时..等完善了.开源了..社区化了..APP应用(指的是安装包类客户端)已经逐渐没落了..算了,话不多说.开始正文确定一下本篇的学习目标:1.学......
  • EmguCV学习笔记 VB.Net 9.3 移动检测类
    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。教程VB.net版本请访问:EmguCV学习笔记VB.Net目录-CSDN博客......