题目:
代码语言:javascript复制给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,
同时保持非零元素的相对顺序。
题目分析,给数组一个nums,如果有0移动到数组末位,如果非零,对元素进行排序。
代码如下:
代码语言:javascript复制class solution:
def rely(self,nums:list)->list:
for i in range(len(nums)-1):
if nums[i]==0:
target=nums[i]
nums.remove(nums[i])
nums.append(target)
else:
for j in range(i 1,len(nums)-1):
if nums[i]>nums[j]:
nums[j],nums[i]=nums[i],nums[j]
return nums
那么我来们可以对代码进行简单的测试。
代码语言:javascript复制if __name__=="__main__":
s=solution()
print(s.rely([0,1,2,4,3,2,1]))
最后输出的结果:
代码语言:javascript复制[1, 1, 2, 2, 3, 4, 0]
简单的写了一个单元测试的用例
代码语言:javascript复制import unittest
from yidong import solution
class MyTestCase(unittest.TestCase):
def test_one(self):
s = solution()
result=(s.rely([0, 1, 2, 4, 3, 2, 1]))
self.assertEqual(result, [1, 1, 2, 2, 3, 4, 0])
我们还应该去测试我们的代码,对于我们的代码要有一定的可测性。
深入的测试,我们这里不在探讨,这里只是给大家举一个测试的例子,方便大家可以进行测试。
对代码要进行一定的测试才能放心,可能大家感觉我们的时间是有限的,在实际的工作中,可能做不到,但是我想说的是 进行测试是有必要的。无论在什么时候的代码,我们要对代码进行一定的代码的单元测试。