【小白友好】python leetcode 27 remove element

Problem: 27. 移除元素

工程思想

用一些python已有的工具:

while val in nums:
    nums.remove(val)

但是我们显然不要这么做对不对!

从零开始

看题目是要in place,则考虑交换咯。
要把不等于val的移到前面,则考虑把数组分成2部分,只要把等于val的全部交换到后面的部分就可以了。

这种就考虑用2个指针,i从前向后扫元素,把等于val的交换走,now_idx从后向前走,记录等于val的位置。

不假思索的话,代码应该是这样:

# 这是错的!
def removeElement(self, nums: List[int], val: int) -> int:
				
        now_idx=len(nums)-1 # 从后向前扫
        cnt=0
        for i in range(len(nums)): # i从前向后扫
            if nums[i]==val:
                # 交换
                tmp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值