拜年取糖果:不能连续进入相邻两家,求最多糖果。横线处应填入:
vector<int> dp(size, 0);
dp[0] = nums[0];
dp[1] = max(nums[0], nums[1]);
for (int i = 2; i < size; i++)
dp[i] = ________; // 填写
return dp[size - 1];
- 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];
正确答案:C