leetcode上面代码测试通过,提交时出错?
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)
以上是 leetcode上面代码测试通过,提交时出错? 的全部内容, 来源链接: utcz.com/a/157093.html