Skip to content

Commit 0deab60

Browse files
committed
[WHYjun] WEEK 01 solutions - (5/5)
1 parent 55a53cc commit 0deab60

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

house-robber/WHYjun.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Solution:
2+
def rob(self, nums: List[int]) -> int:
3+
# memo for DP
4+
dp = {}
5+
return self.robs(nums, dp, len(nums) - 1)
6+
7+
def robs(self, nums: List[int], dp: Dict[int, int], houseToRob: int) -> int:
8+
if houseToRob < 0:
9+
return 0
10+
11+
if houseToRob - 2 not in dp:
12+
dp[houseToRob - 2] = self.robs(nums, dp, houseToRob - 2)
13+
14+
if houseToRob - 1 not in dp:
15+
dp[houseToRob - 1] = self.robs(nums, dp, houseToRob - 1)
16+
17+
18+
return max(
19+
dp[houseToRob - 2] + nums[houseToRob],
20+
dp[houseToRob - 1]
21+
)

0 commit comments

Comments
 (0)