From 5da57ad662380cb26e2d7bf4238004c64c370561 Mon Sep 17 00:00:00 2001 From: rpeeples Date: Thu, 23 Jun 2022 17:37:53 -0400 Subject: [PATCH] Algorithms-Python --- lib/max_subarray.py | 14 ++++++++++++-- lib/newman_conway.py | 14 +++++++++++++- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/lib/max_subarray.py b/lib/max_subarray.py index 4e892e0..8f9af8c 100644 --- a/lib/max_subarray.py +++ b/lib/max_subarray.py @@ -7,6 +7,16 @@ def max_sub_array(nums): """ if nums == None: return 0 - if len(nums) == 0: + elif len(nums) == 0: return 0 - pass + + all_maxes = nums[0] + max_current_sub = nums[0] + + for i in range(1, len(nums)): + max_current_sub = max(max_current_sub + nums[i], nums[i]) + all_maxes = max(all_maxes, max_current_sub) + + return max_current_sub + + diff --git a/lib/newman_conway.py b/lib/newman_conway.py index 70a3353..7953d37 100644 --- a/lib/newman_conway.py +++ b/lib/newman_conway.py @@ -7,4 +7,16 @@ def newman_conway(num): Time Complexity: ? Space Complexity: ? """ - pass + if num < 1: + raise ValueError("Must be a positive number") + if num == 1: + return "1" + + current_list = [0, 1, 1] + + count = 3 + while count <= num: + current_list.append(current_list[current_list[count - 1]] + current_list[count - current_list[count - 1]]) + count += 1 + + return [str(item) for item in current_list]