class Solution: | |||||
def maxSubArray(self, nums): | |||||
max_val = -1000000000000 | |||||
current = -1000000000000 | |||||
for n in nums: | |||||
current = max(n, n + current) | |||||
max_val = max(max_val, current) | |||||
return max_val | |||||
s = Solution() | |||||
print(s.maxSubArray([8, -19, 5, -4, 20])) |
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. | |||||
Example: | |||||
Input: [-2,1,-3,4,-1,2,1,-5,4], | |||||
Output: 6 | |||||
Explanation: [4,-1,2,1] has the largest sum = 6. | |||||
Follow up: | |||||
If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle. |
#!/bin/bash | |||||
python3 main.py |