From 40246672cdc51ef4fd0d5f81525f4c6d7961028d Mon Sep 17 00:00:00 2001 From: Jessica Hebert <90229469+hebert87@users.noreply.github.com> Date: Thu, 30 Oct 2025 23:46:58 +0000 Subject: [PATCH 1/3] Add input parsing for Maximum Subarray in Go --- archive/g/go/maximum-subarray.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 archive/g/go/maximum-subarray.go diff --git a/archive/g/go/maximum-subarray.go b/archive/g/go/maximum-subarray.go new file mode 100644 index 000000000..2bec66a7c --- /dev/null +++ b/archive/g/go/maximum-subarray.go @@ -0,0 +1,15 @@ +package main + +import ( + "fmt" + "os" +) + +func main() { + if len(os.Args) < 1 { + fmt.Println("Please enter a list of comma-separated numbers", ) + } + input := os.Args[1] + fmt.Println(input) + for i := +} From 39f464ebc5da8badcf9772498f915062469a5703 Mon Sep 17 00:00:00 2001 From: Jessica Hebert <90229469+hebert87@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:17:09 +0000 Subject: [PATCH 2/3] Add input parsing and Kadane's algorithm setup for Maximum Subarray - Split comma-separated string into integers - Initialize slice for numeric values - Set up maxSum and blockSum for future calculation --- archive/g/go/maximum-subarray.go | 36 ++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/archive/g/go/maximum-subarray.go b/archive/g/go/maximum-subarray.go index 2bec66a7c..cdf5c4d17 100644 --- a/archive/g/go/maximum-subarray.go +++ b/archive/g/go/maximum-subarray.go @@ -3,13 +3,41 @@ package main import ( "fmt" "os" + "strconv" + "strings" ) +func max(a, b int) int { + if a > b { + return a + } + return b +} + func main() { - if len(os.Args) < 1 { - fmt.Println("Please enter a list of comma-separated numbers", ) + if len(os.Args) < 2 { + fmt.Println("Please enter a list of comma-separated numbers") } input := os.Args[1] - fmt.Println(input) - for i := + parts := strings.Split(input, ",") + nums := make([]int, len(parts)) + + for i, p := range parts { + n, _ := strconv.Atoi(p) + nums[i] = n + + } + + maxSum := nums[0] + blockSum := nums[0] + + for i := 0; i < len(nums); i++ { + blockSum = max(nums[i], blockSum+nums[i]) + if maxSum < blockSum { + maxSum = blockSum + + } + fmt.Println(blockSum, maxSum) + } + } From 54f4479aa574f203b0e4f5452ce5774188dc6774 Mon Sep 17 00:00:00 2001 From: Jessica Hebert <90229469+hebert87@users.noreply.github.com> Date: Fri, 31 Oct 2025 01:50:35 +0000 Subject: [PATCH 3/3] Handle empty input and finalize Kadane's algorithm for Maximum Subarray - Added proper usage message for missing or empty input - Trimmed spaces and validated integers from input - Ensured the program handles multiple command-line arguments - Implemented Kadane's algorithm to compute maximum subarray sum - Added early returns for invalid or empty input --- archive/g/go/maximum-subarray.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/archive/g/go/maximum-subarray.go b/archive/g/go/maximum-subarray.go index cdf5c4d17..5d798eb85 100644 --- a/archive/g/go/maximum-subarray.go +++ b/archive/g/go/maximum-subarray.go @@ -15,14 +15,16 @@ func max(a, b int) int { } func main() { - if len(os.Args) < 2 { - fmt.Println("Please enter a list of comma-separated numbers") + if len(os.Args) < 2 || strings.TrimSpace(os.Args[1]) == "" { + fmt.Println(`Usage: Please provide a list of integers in the format: "1, 2, 3, 4, 5"`) + return } - input := os.Args[1] + input := strings.Join(os.Args[1:], "") parts := strings.Split(input, ",") nums := make([]int, len(parts)) for i, p := range parts { + p = strings.TrimSpace(p) n, _ := strconv.Atoi(p) nums[i] = n @@ -31,13 +33,14 @@ func main() { maxSum := nums[0] blockSum := nums[0] - for i := 0; i < len(nums); i++ { + for i := 1; i < len(nums); i++ { blockSum = max(nums[i], blockSum+nums[i]) if maxSum < blockSum { maxSum = blockSum } - fmt.Println(blockSum, maxSum) + } + fmt.Println(maxSum) }