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

  • 相关阅读:
    微信支付
    JVM调优的正确姿势
    JVM常用调优案例
    JVM调优实践
    jvm优化必知系列——监控工具
    JVM 调优案例分析1
    一次生产的JVM优化
    记录一次JVM配置优化的案例
    JVM之内存和对象创建过程
    Java类加载过程
  • 原文地址:https://www.cnblogs.com/captain-dl/p/10947559.html
Copyright © 2011-2022 走看看