美文网首页
LeetCode算法笔记-Array组-Remove Eleme

LeetCode算法笔记-Array组-Remove Eleme

作者: 机智的神棍酱 | 来源:发表于2018-01-29 13:47 被阅读0次

    Description:

    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.

    Translate:

    给出一个数组和一个特殊值,移出所有和这个特殊值相同的元素并返回新数组的长度。
    不能分配额外的空间给其他的数组,你必须在O(1)的空间复杂度里完成这个算法。
    数组里的元素顺序可以改变。不管后面输出的新长度是多少都没关系。

    Example:

    Given nums = [3,2,2,3], val = 3,
    Your function should return length = 2, with the first two elements of nums being 2. 
    

    Solution:

    class Solution(object):
        def removeElement(self, nums, val):
            i = 0
            for j in range(0, len(nums)):
                if(nums[j]!=val):
                    nums[i]=nums[j]
                    i=i+1
            return i
    

    by me

    Analysis:

    这个题目是一道简单的题目,主要不要进入要把数组元素调换顺序才能,把元素移到数组最后删除,其实这些需要被删除的数组是可以随意被覆盖的,最后新长度后面的元素不需要考虑是什么。

    相关文章

      网友评论

          本文标题:LeetCode算法笔记-Array组-Remove Eleme

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