数组求最大子集,程序加测试

丁贤 2022-03-22 20:01:24
class SumMaxNum():
    def function(serf,lists):
        max_sum = lists[0]
        pre_sum = 0
        for i in lists:
            if pre_sum < 0:
                pre_sum = i
            else:
                pre_sum += i
            if pre_sum > max_sum:
                max_sum = pre_sum
        return max_sum

import unittest
class MyTestCase(unittest.TestCase):
    def test1(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-2 , 6, -1, 5, 4, -7, 2, 3]),14)
    def test2(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([1, 4, -5, 9, 8, 3, -6]),20)
    def test3(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-1 ,20 ,-5, 30 ,-4]),45)
    def test4(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-2 ,-3,-5 ,1 ,-9]),1)
    def test5(self):#这组故意设置错误的值
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-2 ,-3,-5 ,1 ,-9]),0)
    def test6(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-1,2,4,3,-4,2]),9)

    def test7(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-1,3,-5,7,-9,11,-13,15,-17,19,-21]), 19)
    def test8(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([-5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6]), 6)

    def test9(self):
        ts = SumMaxNum()
        return self.assertEqual(ts.function([1,2,3,4,5,-6,7,8,9,10]), 43)
if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(MyTestCase('test1'))
    suite.addTest(MyTestCase('test2'))
    suite.addTest(MyTestCase('test3'))
    suite.addTest(MyTestCase('test4'))
    suite.addTest(MyTestCase('test5'))
    suite.addTest(MyTestCase('test6'))
    suite.addTest(MyTestCase('test7'))
    suite.addTest(MyTestCase('test8'))
    suite.addTest(MyTestCase('test9'))
    runner = unittest.TextTestRunner()
    runner.run(suite)



结果截图

 

...全文
42 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

57

社区成员

发帖
与我相关
我的任务
社区描述
NUE软件工程教学社区
软件工程 高校
社区管理员
  • moonmontest
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧