Skip to content

Commit 8972f8d

Browse files
committed
house-robber sol (py)
1 parent 40c0d00 commit 8972f8d

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

โ€Žhouse-robber/hi-rachel.py

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,38 @@
1010
# **dp[i] = max(dp[i-1], dp[i-2] + nums[i])**
1111
# nums ๊ธธ์ด๊ฐ€ 2์ธ ๊ฒฝ์šฐ range(2, 2)๋Š” for๋ฌธ ์•ˆ ๋ˆ๋‹ค.
1212

13+
from typing import List
14+
1315
class Solution:
1416
def rob(self, nums: List[int]) -> int:
15-
if not nums: return 0
16-
if len(nums) == 1: return nums[0]
17-
17+
if len(nums) == 1:
18+
return nums[0]
19+
1820
dp = [0] * len(nums)
1921
dp[0] = nums[0]
2022
dp[1] = max(nums[0], nums[1])
2123

2224
for i in range(2, len(nums)):
23-
dp[i] = max(dp[i - 1], nums[i] + dp[i - 2])
25+
dp[i] = max(dp[i - 1], dp[i - 2] + nums[i])
2426

2527
return dp[-1]
2628

29+
"""
30+
๊ณต๊ฐ„ ์ตœ์ ํ™” ํ’€์ด
31+
32+
prev2: i-2๊นŒ์ง€์˜ ์ตœ๋Œ€๊ฐ’ + ํ˜„์žฌ ๋ˆ
33+
prev1: i๋ฒˆ์งธ ์ง‘ ์•ˆ ํ„ธ๊ณ , ์ด์ „๊นŒ์ง€์˜ ์ตœ๋Œ€๊ฐ’ ์œ ์ง€
34+
35+
TC: O(n)
36+
SC: O(1)
37+
"""
38+
class Solution:
39+
def rob(self, nums: List[int]) -> int:
40+
prev2, prev1 = 0, 0
41+
for num in nums:
42+
prev2, prev1 = prev1, max(prev1, prev2 + num)
43+
return prev1
44+
2745

2846
# TS ์ฝ”๋“œ
2947
# function rob(nums: number[]): number {

0 commit comments

Comments
ย (0)