LeetCode 热题100-4

移动零

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

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

示例 1:

复制代码
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

复制代码
输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 10e4
  • -2e31 <= nums[i] <= 2e31 - 1

**进阶:**你能尽量减少完成的操作次数吗?

双指针的题目,用i,j 分别指向当前需要填入元素的位置遍历到的下一个非零元素的位置,遍历一遍后,将按照相对位置填入所有非零元素,剩余的位置补0即可

python 复制代码
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        i,j = 0,0
        length = len(nums)
        # i 为指向位置的idx
        while j<length:
            if nums[j]!=0:
                nums[i] = nums[j]
                j+=1
                i+=1
            else:j+=1
        while i<length:
            nums[i] = 0
            i+=1
        print (nums)        
            
相关推荐
test管家8 分钟前
PyTorch动态图编程与自定义网络层实战教程
python
AI科技星15 分钟前
圆柱螺旋运动方程的一步步求导与实验数据验证
开发语言·数据结构·经验分享·线性代数·算法·数学建模
laocooon52385788620 分钟前
python 收发信的功能。
开发语言·python
清水白石00827 分钟前
《Python 责任链模式实战指南:从设计思想到工程落地》
开发语言·python·责任链模式
沛沛老爹34 分钟前
Web开发者快速上手AI Agent:基于LangChain的提示词应用优化实战
人工智能·python·langchain·提示词·rag·web转型
宁大小白34 分钟前
pythonstudy Day39
python·机器学习
FONE_Platform35 分钟前
FONE食品饮料行业全面预算解决方案:构建韧性增长
人工智能·算法·全面预算·全面预算管理系统·企业全面预算
拾贰_C38 分钟前
【VSCode | python | anaconda | cmd | PowerShell】在没有进入conda环境时使用conda命令默认安装位置
vscode·python·conda
月明长歌1 小时前
【码道初阶】【Leetcode94&144&145】二叉树的前中后序遍历(非递归版):显式调用栈的优雅实现
java·数据结构·windows·算法·leetcode·二叉树
大千AI助手1 小时前
基于OpenAPI生成的 SDK 的工业级和消费级概念区别
人工智能·python·机器学习·openai·代码生成·openapi·大千ai助手