LeetCode算法笔记-Array组-Remove Element(Python版)

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 Element(Python版))