LeetCode 283. 移动零

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

题目

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

示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。

解题思路

class Solution:
    def moveZeroes(self, nums: [int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # lenN = len(nums)
        # i = 0
        # while i < lenN:
        #     if nums[i] == 0:
        #         nums.append(nums.pop(i))
        #         i -= 1#维持原来的序号
        #         lenN -= 1#核实的最后指证提前
        #     i += 1
        #双指针
        lenN = len(nums)
        left = 0 #检测当前元素
        right = 0 #统计已经通过的元素
        while right < lenN:
            if nums[left] == 0:
                nums[left:-1] = nums[left+1:]
                nums[-1] = 0
            else:
                left += 1
            right += 1


目录
相关文章
|
9月前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
348 9
YOLOv11改进策略【模型轻量化】| 替换骨干网络为 MobileViTv1高效的信息编码与融合模块,获取局部和全局信息
|
SQL 存储 安全
代码规范(如何提高代码规范)
在软件开发中,优雅的代码规范对于编写美观且实用的代码至关重要。以下是一些提升代码质量的建议: 1. **命名清晰**:使用描述性强的命名,使代码自解释,减少误解,提高可读性。 2. **简洁性**:用最少的代码实现功能,避免冗余,简洁的代码更易维护。 3. **一致性**:保持命名和编码风格的一致性,降低团队协作成本。 4. **注释**:合理注释解释代码意图,但避免过度注释。 5. **避免复杂性**:将复杂逻辑分解为简单部分,用函数或模块封装。 6. **重构**:定期重构代码以提高可读性和性能。 7. **测试**:编写单元测试确保代码的稳定性和可靠性。
265 1
|
12月前
|
程序员 Go
go语言中if 语句
go语言中if 语句
233 3
|
消息中间件 缓存 IDE
MetaQ/RocketMQ 原理问题之消息队列中间件的问题如何解决
MetaQ/RocketMQ 原理问题之消息队列中间件的问题如何解决
201 61
|
存储 Kubernetes API
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
Kubernetes学习-核心概念篇(三) 核心概念和专业术语
|
监控 安全 Linux
centos常用指令
centos常用指令
|
机器学习/深度学习 搜索推荐 算法
【前沿解读】17篇2023淘天业务技术A类顶会论文(下)
【前沿解读】17篇2023淘天业务技术A类顶会论文(下)
538 3
|
人工智能 编解码 算法
【IJCAI 2023】流感知优化之 DAMO-StreamNet 论文解读
传统视频目标检测(Video Object Detection, VOD)是离线(offline)的检测任务,即仅考虑算法的检测精度,未考虑算法的延时。流感知(Streaming Perception)任务作为VOD的一个细分方向,采用流平均精度(Streaming Average Precision, sAP)指标,衡量算法的在线(online)检测能力,即同时衡量算法的精度和延时。本文针对现有的流感知工作在训练方式和模型感受野两方面的不足,提出了DAMO-StreamNet,在保证算法实时性的前提下,实现了SOTA的性能。
1510 6
【IJCAI 2023】流感知优化之 DAMO-StreamNet 论文解读
|
传感器 供应链 物联网
《看见算力》第一期 | 从濒临破产到行业第一,这家福建工厂做对了什么?
《看见算力》第一期 | 从濒临破产到行业第一,这家福建工厂做对了什么?
319 0
|
Python
【PythonWeb】两种方法、搭建自己的pypi服务器。内网的你,必须要会
【PythonWeb】两种方法、搭建自己的pypi服务器。内网的你,必须要会