[LeetCode] 198. house robber (dp, python)
728x90
반응형
연속된 집은 털 수 없다.
바로 이전 집의 dp값이나 두 번째 전 집에서 현재 집을 턴 합 중 더 큰 값이 현재 위치의 집에서 가장 큰 값이 된다
from collections import defaultdict
class Solution:
def rob(self, nums: List[int]) -> int:
if not nums: return 0
if len(nums)<=2: return max(nums)
money=defaultdict(int)
money[0]=nums[0]
money[1]=max(nums[:2])
for i in range(2,len(nums)):
money[i]=max(money[i-1],money[i-2]+nums[i])
return max(money.values())
728x90
반응형
'Leetcode' 카테고리의 다른 글
[LeetCode] 15. 3sum (python, javascript, two pointer) (0) | 2020.10.31 |
---|---|
[LeetCode] 42. trapping rain water (python, javascript, two pointer) (0) | 2020.10.31 |
[Leetcode] climbstairs (python, dp) (0) | 2020.10.30 |
[LeetCode] Maximum Subarray(python, 최대 서브배열,dp) (0) | 2020.10.21 |
[LeetCode] Fibonacci number (dp, 파이썬) (0) | 2020.10.21 |
TAGS.