力扣第27题(python)移除元素

淺唱寂寞╮ 提交于 2020-02-23 21:23:40

移除元素

给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

示例 1:

给定 nums = [3,2,2,3], val = 3,

函数应该返回新的长度 2, 并且
nums 中的前两个元素均为 2。

你不需要考虑数组中超出新长度后面的元素。

代码如下:

class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        l=len(nums)
        zidian={}
        for i in range(l):
            j=target-nums[i]
            if j in zidian:
                return [zidian[j],i]
            zidian[nums[i]]=i

执行结果:通过
显示详情
执行用时 :56 ms, 在所有 Python3 提交中击败了81.48%的用户
内存消耗 :14.7 MB, 在所有 Python3 提交中击败了38.08%的用户
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!