Maximum Subarray
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
class Solution: def maxSubArray(self, nums: List[int]) -> int: length = len(nums) minInt = -2147483647 maxValue = minInt sumMap = [[minInt] * length for i in range(length)] for i in range(length): sumMap[i][i] = nums[i] if maxValue < nums[i]: maxValue = nums[i] for i in range(0, length): for j in range(i, length-1): sumMap[i][j+1] = sumMap[i][j] + nums[j+1] if maxValue < sumMap[i][j+1]: maxValue = sumMap[i][j+1] return maxValue |
코드 블럭 | ||||||
---|---|---|---|---|---|---|
| ||||||
class Solution: def maxSubArray(self, nums: List[int]) -> int: sums = [nums[0]] for i in range(1, len(nums)): sums.append(nums[i] + (sums[i-1] if sums[i-1] > 0 else 0)) return max(sums) |
...