前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一道算法题

一道算法题

作者头像
雷子
发布2021-03-15 16:16:44
2440
发布2021-03-15 16:16:44
举报
文章被收录于专栏:雷子说测试开发

题目:

代码语言: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])

我们还应该去测试我们的代码,对于我们的代码要有一定的可测性。

深入的测试,我们这里不在探讨,这里只是给大家举一个测试的例子,方便大家可以进行测试。

对代码要进行一定的测试才能放心,可能大家感觉我们的时间是有限的,在实际的工作中,可能做不到,但是我想说的是 进行测试是有必要的。无论在什么时候的代码,我们要对代码进行一定的代码的单元测试。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 雷子说测试开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档