|
发表于 2019-11-3 13:10:04
|
显示全部楼层
改好了:- def solve(put:list,who:bool=False)->int:
- le = len(put)
- min_one = put[0]
- sub = [put[0]]
- for i in range(le):
- for j in range(i+1,le+1):
- one = sum(put[i:j])
- if one < min_one:
- min_one = one
- sub = put[i:j]
- #这一节循环体,要是不判断到底是哪个子数组的话,直接换成下一行注释掉的代码
- #min_one = min(min_one,sum(put[i:j]))
- if who:
- print(sub)
- return min_one
- def solve_beta(put:list,who:bool=False)->int:
- le = len(put)
- min_one = put[0]
- sub = [put[0]]#这一行可以注释掉
- #一步开一枪,直逼对方面门
- for i in range(le):
- one = put[i]
- for j in range(i+1,le+1):
- if j < le:
- one += put[j]
- if one < min_one:
- min_one = one
- sub = put[i:j]#这一行也可以注释掉
- if who:#这个判断可以注释掉
- print(sub)
- return min_one
- if __name__ == '__main__':
- print('示例1 -3 输出:',solve([1,-1,-2,1]))
- print('示例2 -6 输出:',solve([1,-1,-2,1,-4]))
- print('之前错的 1 输出:',solve([1,1]))
复制代码 |
|