数组的子数组,前提是需要按照顺序排列,并不是元素的全排列。
有0周围的结果都是0嚒
class Solution:
def maxProduct(self , arr ):
res = max(arr)
tmp = arr[0]
# write code here
for i in range(len(arr))://先计算有多少元素,就是他的范围
tmp = arr[i]
for j in range(i+1, len(arr))://在上面遍历个数的时候,在这个范围内做遍历乘积
print(res,tmp, arr[i+1:j+i+1])//有错误,我输出了一下
tmp *= arr[j]
if tmp > res:
res = tmp
if tmp == 0:
tmp = 1
else:
tmp=tmp//这里要付给tmp,因为上面for还在做乘积,如果缺失,数组中有两个负数就不能乘积了,有的案例会通不过。
return res
京公网安备 11010502036488号