04 移动零

news2024/11/13 14:40:59

移动零

    • 题解1 冒泡(保证操作顺序)
    • 题解2 双指针(推荐)

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

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

题解1 冒泡(保证操作顺序)

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int len = nums.size();
        if(1 == len) return;
        for(int i = 0; i < len-1; i++){
            if(! nums[i]){
                // bubble
                for(int j = i+1; j < len; j++){
                    swap(nums[j-1], nums[j]);
                }
                i --;
                len --;
            }
        }
        return ;
    }
};

在这里插入图片描述

题解2 双指针(推荐)

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int len = nums.size();
        if(1 == len) return;
        // 计算移除掉0后的长度, 即找到开始放0的下标
        int fast = 0, slow = 0;
        while(fast < len){
            if(nums[fast] != 0){
                nums[slow] = nums[fast];
                slow ++;
            }
            fast ++;              
        }
        while(slow < len){
            nums[slow++] = 0;
        }
        
    }
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/948215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

气传导耳机哪个品牌比较好?综合表现很不错的气传导耳机推荐

​气传导耳机不仅能够提升幸福感还能听到周围环境声&#xff0c;大大提高安全性。如果你在寻找一款高品质的气传导耳机&#xff0c;又不知从何入手时&#xff0c;不要担心&#xff0c;我已经为你精心挑选了四款市面上综合表现很不错的气传导耳机&#xff0c;让你享受更好的音质…

Linux C++ 海康摄像头获取过车信息

代码 void CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void *pUser) {printf("enter MessageCallback---------------------->\n");int i;NET_DVR_ALARMINFO_V30 struAlarmInfo;memcpy(&struAl…

Python钢筋混凝土结构计算.pdf-已知弯矩确定混凝土梁截面尺寸

计算原理 确定混凝土梁截面的合理尺寸通常需要考虑弯矩、受力要求和约束条件等多个因素。以下是一种常见的计算公式&#xff0c;用于基于已知弯矩确定混凝土梁截面的合理尺寸&#xff1a; 请注意&#xff0c;以上公式仅提供了一种常见的计算方法&#xff0c;并且具体的规范和设…

长胜证券:A股连续上行 市场信心进一步修复

昨日&#xff0c;A股商场进一步上行&#xff0c;接连第二个交易日上涨&#xff0c;上证指数涨1.20%&#xff0c;站上3100点整数关口&#xff0c;创业板和科创板涨势可观&#xff0c;科创50指数涨幅高达4.12%。 昨日商场呈现更明显的普涨格式&#xff0c;汽车、计算机、电子、传…

[Android AIDL] --- AIDL原理简析

上一篇文章已经讲述了如何在Android studio中搭建基于aidl的cs模型框架&#xff0c;只是用起来了&#xff0c;这次对aidl及cs端如何调用的原理进行简单分析 1 创建AIDL文件 AIDL 文件可以分为两类。 一类是用来定义接口方法&#xff0c;声明要暴露哪些接口给客户端调用&#…

shell常用命令

一、Shell概述 shell是一个命令行解释器&#xff0c;它接受应用程序/用户命令&#xff0c;然后调用操作系统内核。 二、Shell解释器 &#xff08;1&#xff09;Linux提供的Shell解析器有&#xff1a; [roothadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin …

Go的数据结构-数组,字符串,切片底层

字符串本质是一个结构体&#xff0c;str指向底层bye数组&#xff0c;len是bye数组的长度 通过反射包查看 切片就是对数组的引用 创建方式

一个高效的柴油发电机,都需要做什么准备?

柴油发电机的可靠运行对于维持生产流程和设施正常运转至关重要。为了实现这一目标&#xff0c;有效的监控系统变得不可或缺。 通过柴油发电机监控实时监测系统、远程监控技术以及数据分析&#xff0c;能够实现对发电机性能的全面把握&#xff0c;并在出现潜在问题之前采取预防措…

代码随想录算法训练营Day46 | 139.单词拆分 | 多重背包 | 背包问题总结

文章目录 139.单词拆分多重背包背包问题总结初始化遍历顺序 139.单词拆分 题目链接 | 理论基础 乍一看是回溯问题&#xff0c;和分割回文子串很像&#xff0c;不过本题使用回溯解决会超时&#xff08;有些极端 case 过不了&#xff09;&#xff0c;而且这样只需要求解 True/F…

全球选手逐鹿清华!首届AI药物研发算法大赛完美收官

8月26日&#xff0c;首届全球AI药物研发算法大赛决赛答辩暨颁奖典礼&#xff0c;在清华大学生物医学馆举行。来自微软研究院、中国科学院上海药物研究所、上海交通大学等单位的十五支团队&#xff0c;从全球878支团队中脱颖而出&#xff0c;进入了决赛答辩环节。 产教融合&…

演讲与口才艺术教案

演讲与口才艺术教案 第一部分&#xff1a;介绍演讲与口才艺术的重要性 演讲与口才艺术是一种重要的沟通技巧&#xff0c;对于个人和职业发展都具有重要的影响。一个优秀的演讲者和具备良好口才的人&#xff0c;能够有效地表达自己的观点、激发他人的兴趣&#xff0c;并影响他…

React 18 在组件间共享状态

参考文章 在组件间共享状态 有时候&#xff0c;希望两个组件的状态始终同步更改。要实现这一点&#xff0c;可以将相关 state 从这两个组件上移除&#xff0c;并把 state 放到它们的公共父级&#xff0c;再通过 props 将 state 传递给这两个组件。这被称为“状态提升”&#…

记一次坑爹的ARouter::There is no route match the path

接入阿里的ARouter框架&#xff1b;实现最简单的页面跳转&#xff1b;一直失败&#xff0c;报找不到匹配的路径&#xff1b;百度各种基本都说配置有问题&#xff1b;我一一对应&#xff0c;配置怎么看看不出问题来&#xff1b; 我的架构是 接入的代码怎么看都没问题&#xff1…

高并发幂等计数器的设计与实现

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

react css 污染解决方法

上代码 .m-nav-bar {background: #171a21;.content {height: 104px;margin: 0px auto;} }import React from "react"; import styles from ./css.module.scssexport default class NavBar extends React.Component<any, any> {constructor (props: any) {supe…

Linux常用命令——dd命令

在线Linux命令查询工具 dd 复制文件并对原文件的内容进行转换和格式化处理 补充说明 dd命令用于复制文件并对原文件的内容进行转换和格式化处理。dd命令功能很强大的&#xff0c;对于一些比较底层的问题&#xff0c;使用dd命令往往可以得到出人意料的效果。用的比较多的还是…

[ZenTao]源码阅读:加载自定义任务类型

www/index.php config/config.php framework/base/router.class.php tmp/model/common.php module/common/model.php framework/router.class.php

《动手学深度学习》-55循环神经网络

沐神版《动手学深度学习》学习笔记&#xff0c;记录学习过程&#xff0c;详细的内容请大家购买书籍查阅。 b站视频链接 开源教程链接 循环神经网络 潜变量自回归模型&#xff1a; 循环神经网络结构&#xff1a; 简单来说循环神经网络RNN就是在MLP中加了一项&#xff0c;使它可…

气传导蓝牙耳机哪个好?好用爆款气传导蓝牙耳机推荐

​对于气传导耳机&#xff0c;还有很多朋友觉得还是比较陌生&#xff0c;气传导工作原理是通过空气传播&#xff0c;由耳廓收集声音&#xff0c;然后以声波的形式引起鼓膜振动。气传导耳机除了拥有骨传导耳机优点之外&#xff0c;长时间佩戴没有震麻感&#xff0c;音质比骨传导…

alibabacloud的简单使用,nacos配置中心+服务中心。作者直接给自己写的源码

文章目录 依赖关键主要的程序启动文件配置文件bootstrap.yml依赖文件nacos配置中心上的文件截图 启动成功截图参考文档 依赖关键 SpringBoot版本和com.alibaba.cloud版本需要对应&#xff0c;不然会程序会启动失败作者使用的版本 SpringBoot: 2.1.6.RELEASE alibabacloud: 2.…