From eeeb99e0fa3cc88b97c7f85a8d673abd904e4847 Mon Sep 17 00:00:00 2001 From: Mayank Gupta <67818466+Mayank-Creater@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:41:53 +0530 Subject: [PATCH 1/9] Create maximum_subarray_sum.py --- data_structures/arrays/maximum_subarray_sum.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 data_structures/arrays/maximum_subarray_sum.py diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py new file mode 100644 index 000000000000..82de60531be8 --- /dev/null +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -0,0 +1,15 @@ +def maxSubarraySum(arr): + ans = arr[0] + + for i in range(len(arr)): + currentSum = 0 + + for j in range(i, len(arr)): + currentSum = currentSum + arr[j] + ans = max(ans, currentSum) + + return ans + +if __name__ == "__main__": + arr = list(map(int, input().split(' '))) + print(maxSubarraySum(arr)) From 9a7a1e2ea8356afb5532ef66de82815c07788775 Mon Sep 17 00:00:00 2001 From: Mayank-Creater Date: Thu, 2 Oct 2025 13:12:05 +0000 Subject: [PATCH 2/9] updating DIRECTORY.md --- DIRECTORY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/DIRECTORY.md b/DIRECTORY.md index 36acb3b97f1e..0e84558ba580 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -189,6 +189,7 @@ * [Find Triplets With 0 Sum](data_structures/arrays/find_triplets_with_0_sum.py) * [Index 2D Array In 1D](data_structures/arrays/index_2d_array_in_1d.py) * [Kth Largest Element](data_structures/arrays/kth_largest_element.py) + * [Maximum Subarray Sum](data_structures/arrays/maximum_subarray_sum.py) * [Median Two Array](data_structures/arrays/median_two_array.py) * [Monotonic Array](data_structures/arrays/monotonic_array.py) * [Pairs With Given Sum](data_structures/arrays/pairs_with_given_sum.py) From 5971ffe31ef6b8ff75d5f1dea889a9dd9a98399d Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 13:15:56 +0000 Subject: [PATCH 3/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- data_structures/arrays/maximum_subarray_sum.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index 82de60531be8..ddcb7f6cf3ef 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -1,15 +1,16 @@ def maxSubarraySum(arr): ans = arr[0] - + for i in range(len(arr)): currentSum = 0 - + for j in range(i, len(arr)): currentSum = currentSum + arr[j] ans = max(ans, currentSum) - + return ans + if __name__ == "__main__": - arr = list(map(int, input().split(' '))) + arr = list(map(int, input().split(" "))) print(maxSubarraySum(arr)) From 96fcb53c2b1e8b16944756c4dcdea6cb77f5b57a Mon Sep 17 00:00:00 2001 From: Mayank Gupta <67818466+Mayank-Creater@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:50:46 +0530 Subject: [PATCH 4/9] Update maximum_subarray_sum.py --- .../arrays/maximum_subarray_sum.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index ddcb7f6cf3ef..fb2436ff14d6 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -1,12 +1,21 @@ -def maxSubarraySum(arr): +def maxSubarraySum(arr: list[int) -> int: + """ + Find the maximum sum of a subarray. + + Args: + arr: array of numbers. + + Returns: + Maximum sum possible in a subarray + """ ans = arr[0] for i in range(len(arr)): - currentSum = 0 + current_sum = 0 for j in range(i, len(arr)): - currentSum = currentSum + arr[j] - ans = max(ans, currentSum) + current_sum = current_sum + arr[j] + ans = max(ans, current_sum) return ans @@ -14,3 +23,5 @@ def maxSubarraySum(arr): if __name__ == "__main__": arr = list(map(int, input().split(" "))) print(maxSubarraySum(arr)) + import doctest + doctest.testmod() From 252e8d3f30d2411ab04a8ed8c6399fec49f88823 Mon Sep 17 00:00:00 2001 From: Mayank Gupta <67818466+Mayank-Creater@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:52:42 +0530 Subject: [PATCH 5/9] Update maximum_subarray_sum.py --- data_structures/arrays/maximum_subarray_sum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index fb2436ff14d6..a898e0c6a7f3 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -1,4 +1,4 @@ -def maxSubarraySum(arr: list[int) -> int: +def maxSubarraySum(arr: list[int]) -> int: """ Find the maximum sum of a subarray. From 80bf74ffb02307f0cc8e91a1d0ab633dcc835e97 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 13:23:05 +0000 Subject: [PATCH 6/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- data_structures/arrays/maximum_subarray_sum.py | 1 + 1 file changed, 1 insertion(+) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index a898e0c6a7f3..0478dd3177ec 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -24,4 +24,5 @@ def maxSubarraySum(arr: list[int]) -> int: arr = list(map(int, input().split(" "))) print(maxSubarraySum(arr)) import doctest + doctest.testmod() From 578c6fc8ff149052fe8d3ac243442c3bc5465b29 Mon Sep 17 00:00:00 2001 From: Mayank Gupta <67818466+Mayank-Creater@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:53:50 +0530 Subject: [PATCH 7/9] Update maximum_subarray_sum.py --- data_structures/arrays/maximum_subarray_sum.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index 0478dd3177ec..d83e01fe63ac 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -1,4 +1,4 @@ -def maxSubarraySum(arr: list[int]) -> int: +def max_subarray_sum(arr: list[int]) -> int: """ Find the maximum sum of a subarray. @@ -22,7 +22,7 @@ def maxSubarraySum(arr: list[int]) -> int: if __name__ == "__main__": arr = list(map(int, input().split(" "))) - print(maxSubarraySum(arr)) + print(max_subarray_sum(arr)) import doctest doctest.testmod() From 2fe1f21d2fd0ebf8aff6deaf43135e257b6363e9 Mon Sep 17 00:00:00 2001 From: Mayank Gupta <67818466+Mayank-Creater@users.noreply.github.com> Date: Thu, 2 Oct 2025 18:57:56 +0530 Subject: [PATCH 8/9] Update maximum_subarray_sum.py --- data_structures/arrays/maximum_subarray_sum.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index d83e01fe63ac..122e0ce7a654 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -7,6 +7,13 @@ def max_subarray_sum(arr: list[int]) -> int: Returns: Maximum sum possible in a subarray + + Examples: + >>> max_subarray_sum([1, 3, 2]) + 6 + + >>> max_subarray_sum([1, 2, 3, -1, 0]) + 6 """ ans = arr[0] @@ -21,8 +28,7 @@ def max_subarray_sum(arr: list[int]) -> int: if __name__ == "__main__": - arr = list(map(int, input().split(" "))) - print(max_subarray_sum(arr)) + print(max_subarray_sum([1,2,3,4,5])) import doctest doctest.testmod() From fbb6dbbeef3111b3eff433d0d16e1a5174c28d12 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Oct 2025 13:28:16 +0000 Subject: [PATCH 9/9] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- data_structures/arrays/maximum_subarray_sum.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_structures/arrays/maximum_subarray_sum.py b/data_structures/arrays/maximum_subarray_sum.py index 122e0ce7a654..9bfa8948c0a1 100644 --- a/data_structures/arrays/maximum_subarray_sum.py +++ b/data_structures/arrays/maximum_subarray_sum.py @@ -28,7 +28,7 @@ def max_subarray_sum(arr: list[int]) -> int: if __name__ == "__main__": - print(max_subarray_sum([1,2,3,4,5])) + print(max_subarray_sum([1, 2, 3, 4, 5])) import doctest doctest.testmod()