数组中最大子数组之和

一、目的

  • 熟悉编程风格
  • 学习 Python 
  • 简单性能测试

二、编程

 

 

 采用暴力破解法(三重for循环找出所有子数组进行对比)

def MaxSubArray(array):
    maxsum = 0
    for i in range(0, len(array)):    #
        for j in range(i, len(array)):
            sum = 0
            for k in range(i, j+1):
                sum = sum + array[k]
            if sum > maxsum:
                maxsum = sum
    return maxsum
if '__main__' == __name__:
    array = [-32,-10,33,-23,32,-12,41,-12,1,3,5,-98,70,-21,10,-9,61]
    print(MaxSubArray(array))

运行结果

 

 

 

3.单元测试

1.创建单元测试文件步骤:

  在目标文件夹新建Python File,然后选择Python unit test,并且在输入栏输入文件名

2.填入from first import MaxSubArray  #fist为创建的.py文件名,MaxSubArray为fist中的函数名

进行简单验证

 

 

 填入需要测试的代码并运行

 

 

 

 

 

 故意错误示例

 

 

 

 

 

 

 

 

 

 4.简单性能分析

  pycharm社区版没有性能分析插件(无法安装,至少我没找到),可下载专业版试用。

 

 

 

 

 

  

 

posted on 2021-03-13 22:12  01xx10  阅读(75)  评论(1)    收藏  举报