【hot100篇-python刷题记录】【移动零】

news2024/11/16 8:28:07

R5-双指针

要用双指针来实现,想到一个办法,左右两边双指针,当左边指针找到0就和右指针交换值,要减少操作次数的话,就顺便判断一下右指针是否为0即可,最后肯定是双指针碰撞的。

不对,不能交换值,因为不能移动非零元素的相对位置

那就让两个指针相邻从数组头出发,遇到0就交换值,right的值应该不为0才对

分个类就ok了

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        n=len(nums)
        if n<2:
            return nums
        left,right=0,1
        while right<n:
            if nums[left]==0 and nums[right]!=0:
                 nums[left],nums[right]=nums[right],nums[left]
                 left+=1
                 right+=1
            elif nums[left]==0 and nums[right]==0:
                right+=1
            elif nums[left]!=0:
                left+=1
                right+=1
                

 

简单简化代码:

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        n=len(nums)
        if n<2:
            return nums
        left,right=0,1
        while right<n:
            if nums[left]==0 and nums[right]!=0:
                 nums[left],nums[right]=nums[right],nums[left]
                 left+=1
            elif nums[left]!=0:
                left+=1
            right+=1
                

 

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

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

相关文章

普通人如何让AI应用于我们的办公?

最强小说推文——AI视频生成&#xff1a;小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频百万播放量https://aitools.jurilu.com/ 当你学会用好AI&#xff0c;真的可以帮助你提高工作效率&#xff0c;把更多的时间放在摸鱼上&#xff01; 想要AI应用…

Emacs25.x版本之重要特性及用法实例(一百五十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 新书发布&#xff1a;《Android系统多媒体进阶实战》&#x1f680; 优质专栏&#xff1a; Audio工程师进阶系列…

探索Jinja2的神秘力量:Python模板引擎的魔法之旅

文章目录 探索Jinja2的神秘力量&#xff1a;Python模板引擎的魔法之旅1. 背景&#xff1a;为何选择Jinja2&#xff1f;2. 什么是Jinja2&#xff1f;3. 安装Jinja2&#xff1a;一键启程4. 基础用法&#xff1a;Jinja2的五大法宝5. 实战演练&#xff1a;Jinja2在场景中的应用6. 常…

xssnote

XSS漏洞: 文章目录 XSS漏洞:反射型&#xff1a;第一个例子&#xff1a; 实体&#xff0c;url&#xff0c;和js的Unicode编码img——重要标签浏览器解析机制&#xff1a;容纳字符实体&#xff1a;字符引用&#xff1a;RCDATA状态中的字符引用&#xff1a; URL解析&#xff1a;解…

前端css 动画过渡类型以及不同写法

动画过渡简写和复合写法 拆开写 transition-property: height background; 单独设置宽高或者all transition-duration: 2s; 运动时间 transition-timing-function: linear; 不同速度类型 transition-delay: 5s; 延迟时间 <!DOCTYPE h…

相似度计算方法-编辑距离 (Edit Distance)

定义 编辑距离&#xff08;Edit Distance&#xff09;&#xff0c;也称为Levenshtein距离&#xff0c;是一种衡量两个字符串相似度的方法。它定义为从一个字符串转换为另一个字符串所需的最少单字符编辑操作次数&#xff0c;这些操作包括插入、删除或替换一个字符。 计算方法 …

圣鑫堂胀气保健油:专为婴幼儿设计

圣鑫堂胀气保健油是一款专为婴幼儿设计的产品&#xff0c;旨在帮助宝宝缓解胀气不适。胀气是宝宝成长过程中常见的问题&#xff0c;由于婴儿的消化系统尚不成熟&#xff0c;容易出现胀气、腹痛等症状。圣鑫堂麻油通过纯天然的中草药成分&#xff0c;温和有效地帮助宝宝排出肠道…

解决电脑(Win10)内存不足问题:设置虚拟内存

文章目录 1. 虚拟内存1.1 介绍1.2 虚拟内存优点1.3 虚拟内存缺点 2. 为什么要修改虚拟内存&#xff1f;3. win10虚拟内存设置多少合适&#xff1f;4. Win10如何设置虚拟内存? 1. 虚拟内存 1.1 介绍 虚拟内存是一种计算机系统内存管理技术&#xff0c;它使得计算机能够使用比…

为什么精英都是时间控.md

作者&#xff1a;桦泽紫苑 一句话读书感想&#xff1a;高效利用时间&#xff0c;高效工作&#xff0c;幸福生活。 不在时间管理上下功夫&#xff0c;人真的会被工作“忙杀” 1.时间管理术四原则 1.1 以专注力为中心对时间分配 灵活运用大脑的黄金时间&#xff0c;将效率提高…

AI视频创作原理

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

Paimon实战 -- paimon系统表与审计监控

简介 paimon系统表按照元数据的分类&#xff0c;划分了如下10个系统表&#xff0c;通过系统表可以获取paimon表各维度的元数据和消费组信息。通过收集这些元信息&#xff0c;不仅可以排查问题使用&#xff0c;还可以构建统一的paimon元数据管理和消费组管理平台&#xff0c;比如…

远程调用-OpenFeign(二)

目录 1.OpenFeign最佳实践 1.1Feign继承方式 1.1.1创建一个Module 1.1.2引入依赖 1.1.3编写接口 1.1.4打Jar包 1.1.5服务提供方实现接口 1.1.6服务消费方继承接口 1.1.7测试 1.2Feign抽取方式 1.2.1创建一个Module 1.2.2引入依赖 1.2.3编写API 1.2.4打Jar包 1.2.…

mipi协议:Low Level Protocol(2)

前言&#xff1a; 今天继续给大家分享mipi协议中的Low Level Protocol部分内容翻译&#xff01; Packet Header Error Correction code for D-PHY Physical Layer Option: 数据标识符、字数计数和虚拟通道扩展字段的正确解释对于数据包结构至关重要。6位的数据包头错误校正码&…

日拱一卒(4)——leetcode学习记录:路径总和

一、任务&#xff1a; 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 叶…

Systools Outlook PST Recovery Outlook PST邮箱邮件数据修复工具下载

可正常激活使用&#xff0c;非常强大好用的PST邮箱邮件数据文件修复工具 下载地址(资源制作整理不易&#xff0c;下载使用需付费&#xff0c;不能接受请勿浪费时间下载) 链接&#xff1a;https://pan.baidu.com/s/1bfkVNrgdaVS2MkTnW19Zqw?pwdu2sj 提取码&#xff1a;u2sj

Java流程控制09:练习题:打印三角形

本节视频链接&#xff1a;https://www.bilibili.com/video/BV12J41137hu?p44&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5https://www.bilibili.com/video/BV12J41137hu?p44&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 通过嵌套for循环可以实现打印三角形&#xff…

微信答题小程序产品研发-后端开发

在开发答题小程序的后端服务和数据库设计时&#xff0c;需要考虑API的设计、数据库模型的构建以及数据的安全性和一致性。 这里我采用了云开发&#xff0c;后端语言是Node&#xff0c;数据库是NoSql&#xff0c;然后我简单整理了各个功能模块的后端开发概要和数据库设计。 1. …

志愿服务管理系统--论文pf

TOC springboot360志愿服务管理系统--论文pf 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。随着电脑和笔记本的广…

免费的抓包软件wireshark以及简单使用

官网下载链接 https://www.wireshark.org/download.html 安装成功后直接打开即可使用 点击‘wan’即可使用 抓包信息可以在底部菜单栏查看 过滤之查看‘tcp’类型的&#xff0c;自行输入过滤

【LiteX】【开发板】【BoChenK7】使用Python开发FPGA【Linux】

文章目录 开发板介绍下载仓库环境安装仿真测试上板测试添加targets 工程构建开启TFTP Server 工程测试Linux启动&#xff08;netboot&#xff09;HDMI测试SD Card网络测试TFTP测试Linux启动&#xff08;sdcardboot&#xff09;LiteX工具烧录BIOS烧录&#xff08;好像有问题&…