问答

leetcode上面代码测试通过,提交时出错?

作者:admin 2021-09-28 我要评论

class Solution: def moveZeroes(self, nums: List[int]) - None: """ Do not return anything, modify nums in-place instead. """ index = 0 for i in range(l...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        index = 0
        for i in range(len(nums)):
            if nums[i] == 0:
                index += 1
            else:
                nums[i - index] = nums[i]

        while index < len(nums) -1:
            nums[index+1] = 0
            index +=1

提交代码错误,但是 测试 没问题?在leetcode提交代码有什么规范或者特殊情况吗?

###

测试的时候是自己写的测试集,一般他提供一个,提交的时候是多个测试集,你提交的时候有通过那个测试集吗

###

因为你这个代码就是错误的呀。确定测试通过了吗?你试试[0,1]输出是啥,是[1,0]嘛?

java代码仅供参考:

public void moveZeroes(int[] nums) {
    int index = 0;
    int len = nums.length;
    for (int i = 0; i < len; i++) {
        if (nums[i] != 0) {
            nums[index++] = nums[i];
        }
    }
    for (; index < len; index++) {
        nums[index] = 0;
    }
}
###

代码有问题.
leetcode上的测试样例:
输入:[0,1]
正确输出:[1,0]
实际输出:[1,1]

python可尝试以下方法:
从前到后循环,碰到0就从改列表原位置删除,然后放到列表最后面。

class Solution(object):
    def moveZeroes(self, nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """
        for num in nums:  
            if num==0:  
                nums.remove(0)  
                nums.append(0)  

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • leetcode上面代码测试通过,提交时出错

    leetcode上面代码测试通过,提交时出错

  • node爬虫有哪些限制并发数的技巧?

    node爬虫有哪些限制并发数的技巧?

  • elementui组件table行内使用vue-treese

    elementui组件table行内使用vue-treese

  • Java实现C#的ref的原理

    Java实现C#的ref的原理

腾讯云代理商
海外云服务器