第11095题 单选
补全打家劫舍问题动态规划Python实现的横线

小朋友们去邻里拜年,每个家里有不同数量的糖果。规则是:不能连续进入两个相邻的房子(即不能同时取相邻两家的糖果)。目标是拿到最多糖果。以下是代码实现,请补全横线。

def visit(nums):
  if not nums:
    return 0

  size = len(nums)
  if size == 1:
    return nums[0]

  dp = [0] * size
  dp[0] = nums[0]
  dp[1] = max(nums[0], nums[1])

  for i in range(2, size):
    __________________________

  return dp[size - 1]
if __name__ == "__main__":
  nums1 = [1,2,3,1]
  print(visit(nums1))

  nums2 = [2,7,9,3,1]
  print(visit(nums2))

  nums3 = [5]
  print(visit(nums3))

  nums4 = []
  print(visit(nums4))
A

dp[i] = dp[i - 1] + nums[i]

B

dp[i] = max(dp[i - 1], dp[i - 2] * nums[i])

C

dp[i] = max(dp[i - 1], dp[i - 2] + nums[i])

D

dp[i] = dp[i - 2] + nums[i]

提交0次 正确率0.00%
答案解析