From 4ec0fdd8745dc3cfc08e0764e12da56be0781287 Mon Sep 17 00:00:00 2001 From: Joy Krishan Das Date: Sat, 15 Oct 2022 13:07:47 +0600 Subject: [PATCH 1/3] Added Python solution for 53. MaximumSubarray --- Algorithms/Medium/53_MaximumSubarray/Solution.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Algorithms/Medium/53_MaximumSubarray/Solution.py diff --git a/Algorithms/Medium/53_MaximumSubarray/Solution.py b/Algorithms/Medium/53_MaximumSubarray/Solution.py new file mode 100644 index 0000000..e69de29 From 335bcf88d9ce436edb54b2c30e5a609f7611575a Mon Sep 17 00:00:00 2001 From: Joy Krishan Das Date: Sat, 15 Oct 2022 13:32:00 +0600 Subject: [PATCH 2/3] Changes added to Python solution for 53. MaximumSubarray --- Algorithms/Medium/53_MaximumSubarray/Solution.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Algorithms/Medium/53_MaximumSubarray/Solution.py b/Algorithms/Medium/53_MaximumSubarray/Solution.py index e69de29..0ee2014 100644 --- a/Algorithms/Medium/53_MaximumSubarray/Solution.py +++ b/Algorithms/Medium/53_MaximumSubarray/Solution.py @@ -0,0 +1,10 @@ +class Solution: + def maxSubArray(self, nums: List[int]) -> int: + current_sum, max_sub_sum = 0, nums[0] + for num in nums: + if current_sum < 0: + current_sum = 0 + current_sum += num + max_sub_sum = max(current_sum, max_sub_sum) + + return max_sub_sum \ No newline at end of file From 049b6d24f8a7cb2313d1e0bbf5cb894d60e1f8db Mon Sep 17 00:00:00 2001 From: Joy Krishan Das Date: Sat, 15 Oct 2022 16:58:20 +0600 Subject: [PATCH 3/3] Changes added to Python solution for 53. MaximumSubarray --- Algorithms/Medium/53_MaximumSubarray/Solution.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Algorithms/Medium/53_MaximumSubarray/Solution.py b/Algorithms/Medium/53_MaximumSubarray/Solution.py index 0ee2014..b4570fe 100644 --- a/Algorithms/Medium/53_MaximumSubarray/Solution.py +++ b/Algorithms/Medium/53_MaximumSubarray/Solution.py @@ -1,9 +1,11 @@ class Solution: def maxSubArray(self, nums: List[int]) -> int: current_sum, max_sub_sum = 0, nums[0] + for num in nums: if current_sum < 0: current_sum = 0 + current_sum += num max_sub_sum = max(current_sum, max_sub_sum)