Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def subMaxSum(arr):
- if len(arr) == 0:
- print(0)
- return
- max_sum = arr[0]
- sums = []
- end = 0
- sums.append(arr[0])
- for i in range(1, len(arr)):
- val = max(arr[i] + sums[i-1], arr[i])
- prev = val
- sums.append(val)
- if val > max_sum:
- end = i
- max_sum = val
- seq = []
- for i in range(end, -1, -1):
- if sums[i] == arr[i]:
- seq.append(arr[i])
- break
- seq.append(arr[i])
- seq.reverse()
- return seq, max_sum
- #arr = [5, 15, -30, 10, -5, 40, 10]
- arr = [-5, -15, -30, -1, -5, -40, -10]
- seq,m_sum = subMaxSum(arr)
- print(seq, m_sum)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement