【每日一题】-移动零

Problem: 283. 移动零

文章目录

思路

遍历数组,遇见零,将所有后面的数据往前移动一位,并将0加到末尾。
由于在移动过程中当前位置数据变化,采用for循环会遗漏连续为0时的情况。
循环此数通过mark记录0出现的次数控制。
双层循环,不增加新的存储空间。

易错点:
1、使用for循环时,数组中出现连续两个为0的情况时,会漏移动后一个0,因为for取值时会递增,但是通过上一次移动0后,之前后一个元素到了当前位置,下次判断时下标移动,漏掉了当前位置为0的元素
2、使用while循环时,如何跳出循环需要借助移动了多少次0辅助判断。

Code


class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        n = len(nums)
        i = 0
        mark = 0
        while i < n - mark:
            if nums[i] == 0:
                mark += 1
                for j in range(i+1,n-mark+1):
                    nums[j-1] = nums[j]
                nums[n-mark] = 0
                i -=1
            i +=1
        return nums
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
muse-移动应用管家是一款功能强大的移动应用管理软件。它为用户提供了全方位的移动应用管理服务,方便用户对手机内的应用进行管理和优化。首先,muse可以对手机内的应用进行分类和整理,让用户更方便地找到自己想要的应用。用户可以根据自己的需求把应用分为不同的类别,如游戏、社交、工具等,从而更好地组织应用。此外,muse还支持对应用进行批量卸载,用户可以一次性删除多个应用,有效地释放手机的存储空间。 其次,muse还具有强大的应用加速和优化功能。它可以通过清理手机内存、关闭后台运行的应用程序等方式,提升手机的运行速度和性能。用户可以一键清理手机内存,快速释放内存占用,使手机运行更加流畅。同时,muse还可以自动关闭不常用的后台应用程序,减少手机的功耗,延长手机的续航时间。 除此之外,muse还支持应用锁和应用备份功能。用户可以设置密码锁定某些应用,保护个人隐私和重要数据的安全。而应用备份功能可以帮助用户将手机内的应用备份到云端存储空间,防止因手机丢失或重置导致应用数据的丢失。这一系列功能使得muse成为了用户手机管理的得力助手。 总之,muse-移动应用管家通过一系列方便实用的功能,帮助用户更好地管理和优化手机内的应用。无论是清理内存、卸载应用还是备份数据,muse都能帮助用户轻松完成,并提供细致入微的管理服务。如果您想更好地管理自己的手机应用,muse-移动应用管家将是您的不二选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨山小七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值