移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。
执行用时 :72 ms, 在所有 Python3 提交中击败了18.33% 的用户
内存消耗 :13.7 MB, 在所有 Python3 提交中击败了5.37%的用户
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
while True:
if val in nums:
nums.remove(val)
else:
break
return len(nums)
执行用时 :68 ms, 在所有 Python3 提交中击败了21.22% 的用户
内存消耗 :13.9 MB, 在所有 Python3 提交中击败了5.37%的用户
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
for i in range(0,len(nums)):
if val in nums:
nums.remove(val)
else:
break
return len(nums)
遍历nums所有元素,用list.remove()移除与val相同的值,所有相同的值全部移除后,结束循环,最后返回数组长度,用for循环或者while循环都可以,两者的内存消耗相同,很明显for循环用时比较短
算法题来自:https://leetcode-cn.com/problems/remove-element/