198. House Robber
class Solution:
def rob(self, A: List[int]) -> int:
n = len(A)
pre, cur = 0, A[0]
for i in range(1, n):
pre, cur = cur, max(pre + A[i], cur)
return curclass Solution:
def rob(self, A: List[int]) -> int:
n = len(A)
if n == 1:
return A[0]
dp = [0] * n
dp[0] = A[0]
dp[1] = max(A[0], A[1])
for i in range(2, n):
dp[i] = max(A[i] + dp[i-2], dp[i-1])
return dp[n-1]