| 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 |