From a5384f44af8287fa4a9df864acd3008044dcc00d Mon Sep 17 00:00:00 2001 From: Bharath Vuppala Date: Mon, 13 Jan 2025 08:38:22 -0800 Subject: [PATCH 1/4] 2 problems completed --- Coin Change.py | 20 ++++++++++++++++++++ House Robber.py | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Coin Change.py create mode 100644 House Robber.py diff --git a/Coin Change.py b/Coin Change.py new file mode 100644 index 00000000..f415e77b --- /dev/null +++ b/Coin Change.py @@ -0,0 +1,20 @@ +class Solution: + def coinChange(self, coins: List[int], amount: int) -> int: + if coins == None or len(coins) ==0: + return 0 + n= len(coins) + + dp=[[0]*(amount+1) for _ in range (n+1)] + + for i in range (1, amount+1): + dp[0][i]=amount+1 + + for i in range (1, n+1): + for j in range (1, amount+1): + if j< coins[i-1]: + dp[i][j]= dp[i-1][j] + else: + dp[i][j]= min( dp[i-1][j], 1+dp[i][j-coins[i-1]]) + if dp[n][amount]> amount: + return -1 + return dp[n][amount] \ No newline at end of file diff --git a/House Robber.py b/House Robber.py new file mode 100644 index 00000000..4d6818ae --- /dev/null +++ b/House Robber.py @@ -0,0 +1,16 @@ +# Time complexity =o(n) and Space Complexity = o(n) +class Solution: + def rob(self, nums: List[int]) -> int: + if nums ==0 or len(nums)==0: + return + n= len(nums) + dp =[[0] * (2 )for j in range (n)] + dp[0][0]=0 + dp[0][1]=nums[0] + + for i in range(1, n): + dp[i][0]=max(dp[i-1][0], dp[i-1][1]) + dp[i][1]=nums[i]+dp[i-1][0] + + return max(dp[n-1][0], dp[n-1][1]) + \ No newline at end of file From cf1bfcc00ee5ead0088c7e4fafbc364125993539 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Tue, 3 Feb 2026 14:12:18 -0800 Subject: [PATCH 2/4] Delete Coin Change.py --- Coin Change.py | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 Coin Change.py diff --git a/Coin Change.py b/Coin Change.py deleted file mode 100644 index f415e77b..00000000 --- a/Coin Change.py +++ /dev/null @@ -1,20 +0,0 @@ -class Solution: - def coinChange(self, coins: List[int], amount: int) -> int: - if coins == None or len(coins) ==0: - return 0 - n= len(coins) - - dp=[[0]*(amount+1) for _ in range (n+1)] - - for i in range (1, amount+1): - dp[0][i]=amount+1 - - for i in range (1, n+1): - for j in range (1, amount+1): - if j< coins[i-1]: - dp[i][j]= dp[i-1][j] - else: - dp[i][j]= min( dp[i-1][j], 1+dp[i][j-coins[i-1]]) - if dp[n][amount]> amount: - return -1 - return dp[n][amount] \ No newline at end of file From e4596ac710acd60dce3e3b0f1c11a0c902e66ce4 Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Tue, 3 Feb 2026 14:12:40 -0800 Subject: [PATCH 3/4] Delete House Robber.py --- House Robber.py | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 House Robber.py diff --git a/House Robber.py b/House Robber.py deleted file mode 100644 index 4d6818ae..00000000 --- a/House Robber.py +++ /dev/null @@ -1,16 +0,0 @@ -# Time complexity =o(n) and Space Complexity = o(n) -class Solution: - def rob(self, nums: List[int]) -> int: - if nums ==0 or len(nums)==0: - return - n= len(nums) - dp =[[0] * (2 )for j in range (n)] - dp[0][0]=0 - dp[0][1]=nums[0] - - for i in range(1, n): - dp[i][0]=max(dp[i-1][0], dp[i-1][1]) - dp[i][1]=nums[i]+dp[i-1][0] - - return max(dp[n-1][0], dp[n-1][1]) - \ No newline at end of file From abc3e832bff207a19390e6e707403a8092e88fdf Mon Sep 17 00:00:00 2001 From: BharathVuppala96 Date: Tue, 3 Feb 2026 14:15:39 -0800 Subject: [PATCH 4/4] 2problems completed --- Coin Change.py | 20 ++++++++++++++++++++ House Robber.py | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Coin Change.py create mode 100644 House Robber.py diff --git a/Coin Change.py b/Coin Change.py new file mode 100644 index 00000000..f415e77b --- /dev/null +++ b/Coin Change.py @@ -0,0 +1,20 @@ +class Solution: + def coinChange(self, coins: List[int], amount: int) -> int: + if coins == None or len(coins) ==0: + return 0 + n= len(coins) + + dp=[[0]*(amount+1) for _ in range (n+1)] + + for i in range (1, amount+1): + dp[0][i]=amount+1 + + for i in range (1, n+1): + for j in range (1, amount+1): + if j< coins[i-1]: + dp[i][j]= dp[i-1][j] + else: + dp[i][j]= min( dp[i-1][j], 1+dp[i][j-coins[i-1]]) + if dp[n][amount]> amount: + return -1 + return dp[n][amount] \ No newline at end of file diff --git a/House Robber.py b/House Robber.py new file mode 100644 index 00000000..4d6818ae --- /dev/null +++ b/House Robber.py @@ -0,0 +1,16 @@ +# Time complexity =o(n) and Space Complexity = o(n) +class Solution: + def rob(self, nums: List[int]) -> int: + if nums ==0 or len(nums)==0: + return + n= len(nums) + dp =[[0] * (2 )for j in range (n)] + dp[0][0]=0 + dp[0][1]=nums[0] + + for i in range(1, n): + dp[i][0]=max(dp[i-1][0], dp[i-1][1]) + dp[i][1]=nums[i]+dp[i-1][0] + + return max(dp[n-1][0], dp[n-1][1]) + \ No newline at end of file