Question:codility Lesson9 MaxDoubleSliceSum
My Answer:
def solution(A):
lenA = len(A)
maxdoublesum = 0
maxslice = 0
maxcur = 0
minele = A[1] if A[1] > 0 else 0
for i in range(2,lenA - 1):
if A[i] <= minele:
maxslice = maxslice + minele
minele = A[i]
else:
maxslice = maxslice + A[i]
if maxslice <= maxcur:
maxslice = maxcur
minele = A[i]
maxcur = max(0,maxcur + A[i])
maxdoublesum = max(maxdoublesum,maxslice)
return maxdoublesum

本文提供了一个解决Codility课程中MaxDoubleSliceSum问题的Python实现方案。通过迭代数组并使用动态规划思想来寻找最大双切片和。
317

被折叠的 条评论
为什么被折叠?



