当前位置: 首页 > article >正文

【力扣100】4.移动零

题目链接
我的题解:

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # 思路是先计算共有几个0,然后remove几次,再末位加几个0
        count=0
        for i in nums:
            if i ==0:
                count=count+1
        for j in range(0,count):
            nums.remove(0)
            nums.append(0)

我觉得这个方法太蠢了
想一下双指针的方法

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # fast指针遇见0向后挪
        # slow指针遇见0跟fast交换
        fast=0
        slow=0
        for fast in range(len(nums)):
            if nums[fast]==0:
                fast+=1
            else:
                nums[slow]=nums[fast]
                fast+=1
                slow+=1
        for i in range(slow,len(nums)):
            nums[i]=0

双指针,最后补0

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        left = 0
        for i in range(len(nums)):
          if nums[i] != 0:
            nums[left], nums[i] = nums[i], nums[left]
            left += 1

双指针,快指针指到非0,就交换,因为慢指针都会指到0


http://www.kler.cn/news/162449.html

相关文章:

  • RHEL8_Linux访问NFS存储及自动挂载
  • microblaze仿真
  • uni-app 微信小程序之好看的ui登录页面(一)
  • 【华为OD题库-063】字符匹配-java
  • 『CV学习笔记』轻量化卷积神经网络MobileNet从V1到V3
  • 手机充电器市场分析:预计2028年将达到82亿美元
  • 探索人工智能领域——每日20个名词详解【day11】
  • oracle与sqlsever的区别
  • android项目实战之使用框架 集成多图片、视频的上传
  • 【无线网络技术】——无线局域网(学习笔记)
  • Github与Gitlab
  • C# 语法笔记
  • C++ 关于结构体struct的一些总结
  • 几何尺寸智能测量仪为您带来经济效益提升
  • 喝酒谁先倒
  • 【五分钟】熟悉python列表和元组的异同点【看这篇够用!建议收藏】
  • 极简模式,助力宏观数据监控
  • 图片和文字如何生成一个二维码?图文生成二维码的做法
  • 万界星空科技MES---制造企业的加工生产模式
  • Meta Platforms推出Imagine:基于Emu的免费AI文本到图像生成器服务
  • 【Linux】stat命令使用
  • 【EMNLP 2023】基于知识迁移的跨语言机器阅读理解算法
  • 【Linux系统化学习】命令行参数 | 环境变量的再次理解
  • springboot快速入门
  • python3: jieba(“结巴”中文分词库) .2023-11-28
  • 028:简单的foreach
  • Android Studio的笔记--String和byte[]
  • 朴素贝叶斯 贝叶斯方法
  • Servlet should have a mapping
  • 使用ASIRequest库进行Objective-C网络爬虫示例