zoukankan      html  css  js  c++  java
  • 27. Remove Element

    题目来源:27. Remove Element

     自我感觉难度/真实难度:             写题时间时长:

     题意:

    把一个list 中target的数字,去掉。其他数字放到前面去。并且返回开头不是target的长度。

     分析:

    一开始,自己是想通过换位置来,把target的数字放到后面去,但是发现这样还是太笨

     自己的代码:

    class Solution:
        def removeElement(self, nums: List[int], val: int) -> int:
            l=len(nums)
            j=l-1
            i=0
            while i<=j:
                if nums[i]==val:
                    nums[i]=nums[j]
                    j-=1
                else:
                    i+=1
            return i
                    
    Runtime: 48 ms, faster than 18.49% of Python3 online submissions forRemove Element.
    Memory Usage: 13.4 MB, less than 5.16% of Python3 online submissions for Remove Element.

    代码效率/结果:

     优秀代码:

    class Solution:
        def removeElement(self, nums: List[int], val: int) -> int:
            l = 0
            for i in range(len(nums)):
                if nums[i] != val:
                    nums[l] = nums[i]
                    l += 1
    
            return l

    直接把需要的数字,放到前面就可以了

    代码效率/结果:24ms

     自己优化后的代码:

     反思改进策略:

    1.对于这些数字调换的问题,一定要考虑,换位置之后,是否还有用,如果没有用的话,可以直接采用替换的方法来做

  • 相关阅读:
    Spring-Task
    bootstrap table分页(前后端两种方式实现)
    jquery file upload示例
    ajax传递list集合
    cogs 2383. [Hnoi2014]世界树 WD
    cogs 36.求和问题
    bolg
    noip2016
    cogs 1619. [HEOI2012]采花 AC
    leetcode[109]Convert Sorted List to Binary Search Tree
  • 原文地址:https://www.cnblogs.com/captain-dl/p/10947559.html
Copyright © 2011-2022 走看看