LeetCode 283. 移动零(C++)

2023-10-29

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.代码如下:

class Solution {
public:
/**思路一:冒泡法;操作次数n次*/
/**思路二:用排序算法sort*/
/**思路三:双指针*/

    void moveZeroes(vector<int>& nums) {
        int i=0;
        int j=0;
        while(j<=nums.size()-1){
            if(nums[j]!=0){
                nums[i]=nums[j];
                i++;
                j++;
            }
            else{
                j++;
            }
        }
        while(i<=nums.size()-1){
            nums[i]=0;
            i++;
        }
    }
    
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 283. 移动零(C++) 的相关文章

随机推荐

  • Linux休眠,挂起,待机,关机的区别及相关命令

    转 http blog 163 com kukwkukw 126 blog static 97095900201410672425693 体眠是一种更加省电的模式 它将内存中的数据保存于硬盘中 所有设备都停止工作 当再次使用时需按开关机键
  • 一文读懂深度学习框架下的目标检测(附数据集)

    从简单的图像分类到3D位置估算 在机器视觉领域里从来都不乏有趣的问题 其中我们最感兴趣的问题之一就是目标检测 如同其他的机器视觉问题一样 目标检测目前为止还没有公认最好的解决方法 在了解目标检测之前 让我们先快速地了解一下这个领域里普遍存在
  • 整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩

    1 大数据的文件读取 利用生成器generator 迭代器进行迭代遍历 for line in file 2 迭代器和生成器的区别 答 1 迭代器是一个更抽象的概念 任何对象 如果它的类有next方法和iter方法返回自己本身 对于stri
  • Vim进阶

    Vim实用技术 第1部分 实用技巧 http www ibm com developerworks cn linux l tip vim1 index html Vim实用技术 第2部分 常用插件 http www ibm com deve
  • 软件测试13个最容易犯的错误

    目录 一 输入框测试 二 搜索功能测试 三 添加 修改功能 四 删除功能 五 上传图片功能测试 六 查询结果列表 七 返回键检查 八 回车键检查 九 刷新键检查 十 直接URL链接检查 盗链问题 十一 并发问题 十二 业务流程测试 十三 界
  • nvme分区选mbr还是guid_Linux 扩容 / 根分区(LVM+非LVM)

    目录 1 概述 2 CentOS7 LVM根分区扩容步骤 3 CentOS7 非LVM根分区扩容步骤 一 背景 概述 MBR Master Boot Record 主引导记录 和GPT GUID Partition Table GUID意为
  • 和泉纱雾

    和泉纱雾 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 众所周知 和泉纱雾是著名的埃罗芒阿老师 画画功力首屈一指 今天我们的埃罗
  • 长度大小为零的数组(柔性数组、可变数组)

    书山有路勤为径 学海无涯苦作舟 目录 前言 一 什么是柔性数组 二 柔性数组应用及优势对比 1 定长数组 2 指针域 3 柔性数组 总结 前言 柔性数组 Arrays of Length Zero 是GNU GCC在C C 标准下扩展而引出
  • 网络测速命令

    linux命令行测速 https blog 51cto com 13718210 2418661
  • C语言课程设计-工资管理系统

    前言 这个程序是博主在大学第一个学期学完C语言后的课程设计 那时刚从一个小白变得会一点点编程 老师就布置了这个课程设计 当时一脸懵这是啥 我在哪 我要干什么 但是通过查阅了很多资料以及问了许多人以后 我逐渐开始写我的第一个项目 现在来看这个
  • opencv_gpu加速环境配置教程问题汇总

    1 安装CUDA 1 1 安装的cuda版本与英伟达驱动中的版本必须是一致的 1 2 安装的cuda后必须把cuda的环境配置到系统的环境变量中 1 3 检查cuda安装的版本与英伟达版本是不是一致的 cmd中输入 nvcc V 2 安装o
  • IDEA 怎么自定义代码模板?

    打开idea gt File gt Settings 点击 Editor gt Live Templates 添加组名或组的变量名 输入自己定义的变量名 即可输出代码 点击 Edit variables Expression改为与自己代码需
  • 使用sersync实现数据实时同步

    使用sersync实现数据实时同步 sersync诞生过程 部署前提 配置rsync服务端 部署sersync 配置sersync的path变量 修改sersync配置文件 sersync常用参数 使用服务文件实现开机自启动 实时同步服务d
  • vue中postcss怎么配置

    主要是 postcssrc js中的配置 在进入主题之前先记录下node中读取文件路径的问题 node js中的文件路径主要是包括 dirname filename process cwd 等 前面三个是绝对路径 后面是相对路径 当然你可以
  • Java API之Calendar(日历)类[详解]

    Calendar 日历 类 一 Calendar概述 位于java util Caleandar包中 是一个抽象基类 用于完成日期字段之间相互转换的功能 由于是抽象类型 因此不可直接实例化 不能new 对象 一个Caleandar类的实例是
  • CSS简介

    CSS简介 什么是CSS CSS 是层叠样式表 Cascading Style Sheets 的简称 有时我们也会称之为 CSS 样式表或级联样式表 CSS 是也是一种标记语言 CSS 主要用于设置 HTML 页面中的文本内容 字体 大小
  • 【排序】快速排序

    思路分析 快速排序采用双向查找的策略 每一趟选择当前所有子序列中的一个关键字作为枢纽轴 将子序列中比枢纽轴小的前移 比枢纽轴大的后移 当本趟所有子序列都被枢轴按上述规则划分完毕后将会得到新的一组更短的子序列 他们将成为下趟划分的初始序列集
  • WARN:Establishing SSL connection without server’s identity verification is not recommended

    在JAVA WEB项目中做到C3P0数据库连接池部分运行Java代码时候出现一大片红色报错警告 Establishing SSL connection without server s identity verification is no
  • 【概率论与数理统计】猴博士 笔记 p24-25 条件概率密度函数、求两个随机变量形成的函数的分布

    条件概率密度函数 题型如下 已知概率密度 求条件概率密度 已知x怎么样的情况下y服从的概率 或y怎么样的情况下x服从的概率 求f x y 步骤 对于后两个 是在哪个字母的条件下 哪个字母就在后面 即 如果是在x 的条件下 那么就选图中第三条
  • LeetCode 283. 移动零(C++)

    1 题目如下 给定一个数组 nums 编写一个函数将所有 0 移动到数组的末尾 同时保持非零元素的相对顺序 请注意 必须在不复制数组的情况下原地对数组进行操作 示例 1 这里是引用 输入 nums 0 1 0 3 12 输出 1 3 12