From 24536e5e4bd9337a9da5a26916de9a34cd40f886 Mon Sep 17 00:00:00 2001 From: Araceli Date: Tue, 25 Jan 2022 13:55:33 -0800 Subject: [PATCH] all tests passing --- lib/max_subarray.py | 12 +++++++++--- lib/newman_conway.py | 16 +++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/max_subarray.py b/lib/max_subarray.py index 4e892e0..905961b 100644 --- a/lib/max_subarray.py +++ b/lib/max_subarray.py @@ -2,11 +2,17 @@ def max_sub_array(nums): """ Returns the max subarray of the given list of numbers. Returns 0 if nums is None or an empty list. - Time Complexity: ? - Space Complexity: ? + Time Complexity: O(n) + Space Complexity: O(1) """ if nums == None: return 0 if len(nums) == 0: return 0 - pass + + dp = [0 for i in range(len(nums))] + dp[0] = nums[0] + for i in range(1,len(nums)): + dp[i] = max(dp[i-1]+nums[i],nums[i]) + #print(dp) + return max(dp) diff --git a/lib/newman_conway.py b/lib/newman_conway.py index 70a3353..bfa9099 100644 --- a/lib/newman_conway.py +++ b/lib/newman_conway.py @@ -4,7 +4,17 @@ # Space Complexity: ? def newman_conway(num): """ Returns a list of the Newman Conway numbers for the given value. - Time Complexity: ? - Space Complexity: ? + Time Complexity: O(n) + Space Complexity: O(n) """ - pass + if num == 0: + raise ValueError + + if num == 1: + return '1' + + sequence = [0, 1, 1] + for i in range(3, num + 1): + sequence.append (sequence[sequence[i - 1]] + sequence[i - sequence[i -1]]) + return ' '.join([str(s) for s in sequence[1:]]) +