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)        
            
相关推荐
星空露珠8 分钟前
迷你世界UGc3.0脚本Wiki[剧情动画模块管理接口 Timeline]
开发语言·数据结构·算法·游戏·lua
笨笨没好名字11 分钟前
Leetcode刷题python3版第一周(下)
linux·算法·leetcode
手写码匠20 分钟前
手写 LLM 安全护栏:从内容审核到越狱防御的完整实现
人工智能·深度学习·算法·aigc
Weigang30 分钟前
用 LlamaIndex 做 RAG 前,先把 Reader、Index、Retriever 的边界写清楚
人工智能·python·开源
luj_176831 分钟前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
小九九的爸爸38 分钟前
前端入门Agent开发,掌握这些Python数据基础就够啦
python·agent
风之所往_40 分钟前
Python 3.9 新特性全面总结
python
青风9741 分钟前
16-ADAPTRACK:基于自适应阈值的多目标跟踪匹配算法
人工智能·算法·目标跟踪
W是笔名1 小时前
python___容器类型的数据___序列
开发语言·python