日常练习:Lintcode172. 删除元素 Python

本文介绍了一种在Python中从数组删除特定值的方法,并通过一个示例进行了演示。该方法使用了while循环来遍历数组并删除匹配项,同时讨论了数组长度变化时循环条件的选择。

题目:

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。
元素的顺序可以改变,并且对新的数组不会有影响。
##样例:
给出一个数组 [0,4,4,0,0,2,4,4],和值 4
返回 4 并且4个元素的新数组为[0,0,0,2]

这个题…看上去确实不难

代码:

class Solution:
    """
    @param: A: A list of integers
    @param: elem: An integer
    @return: The new length after remove
    """
    def removeElement(self, A, elem):
        # write your code here
        i=0      
        while(i < len(A)):
            if(A[i] == elem):
                A.pop(i)
                i -= 1
            i +=1    
        return len(A)

这个东西,有一个问题,就是它的数组长度是改变的,我刚开始没注意到这一点,写的是for i in range(len(A)),就导致了后来的判断越界了,很尴尬,后来改成了while循环,唉…今天不行啊。
以后多想几种方法,今天懒了,就这样吧。
晚安。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值