diff --git a/maximum-subarray/sol.go b/maximum-subarray/sol.go new file mode 100644 index 0000000..1f0c728 --- /dev/null +++ b/maximum-subarray/sol.go @@ -0,0 +1,17 @@ +package main + +// Time: O(n) +// Space: O(1) +func maxSubArray(nums []int) int { + current, max := 0, nums[0] + for _, num := range nums { + current += num + if current > max { + max = current + } + if current < 0 { + current = 0 + } + } + return max +}