美文网首页
Q27 Remove Element

Q27 Remove Element

作者: 牛奶芝麻 | 来源:发表于2018-02-28 16:31 被阅读2次

Given an array and a value, remove all instances of that value in-place and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

The order of elements can be changed. It doesn't matter what you leave beyond the new length.

Example:
Given nums = [3,2,2,3], val = 3,

Your function should return length = 2, with the first two elements of nums being 2.
注意点:

空间复杂度要求为O(1)

解题思路:

遍历列表,如果和列表中元素和目标元素相同,则从列表中删除此元素。删除后列表长度会改变,注意不要越界。

Pyhton实现:
class Solution:
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        i = 0
        while i < len(nums):
            if nums[i] is val:
                del nums[i]
            else:
                i +=1
        return len(nums)        

a = [3,2,2,3]
b = Solution() 
print(b.removeElement(a,3))  # 2

相关文章

网友评论

      本文标题:Q27 Remove Element

      本文链接:https://www.haomeiwen.com/subject/oupgzxtx.html