Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
the problem require constant space .
we need a count to maintain non-duplicate numbers and an index to iterate through
class Solution(object):
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
nums_length = len(nums)
if nums_length < 2:
return nums_length
count = 1
index = 1
while index < nums_length - 1:
if nums[index] != nums[index]:
nums[count] = nums[index]
count += 1
index += 1
return count

本文介绍了一种删除数组中特定元素并返回新长度的方法,该方法利用双指针技巧实现常空间复杂度。通过计数非重复元素并更新数组,实现数组就地修改。

被折叠的 条评论
为什么被折叠?



