LeetCode 数组类算法(Python3)学习笔记

概述

做好初始定义

移动零

\\我的解法
        for i in range(nums.count(0)):            
        	nums.remove(0)            
        	nums.append(0)
\\执行用时:112 ms, 在所有 Python3 提交中击败了17.37% 的用户
\\内存消耗:14.1 MB, 在所有 Python3 提交中击败了30.51% 的用户    
\\ 官方解法
	n = len(nums)
        i = -1
        j = 0
        # nums[0....i]表示非0元素的数列,初始值i=-1
        while j <= n-1:
            if nums[j] != 0:
                i += 1
                nums[i] = nums[j]
            j += 1
        for k in range(i+1, n):
            nums[k] = 0
\\ 执行用时:44 ms, 在所有 Python3 提交中击败了68.20% 的用户
\\内存消耗:14.3 MB, 在所有 Python3 提交中击败了5.30% 的用户

移除元素

\\我的解法 比官方用时短
	i = -1        
	j = 0        
	n = len(nums)        
	while j < n:            
		if nums[j] != val:               
			j+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值