以下动态规划算法的含义与目的是:
int function(vector<int>& nums) {
int n = nums.size();
if (n == 0) return 0;
if (n == 1) return nums[0];
vector<int> dp(n, 0);
dp[0] = nums[0];
dp[1] = max(nums[0], nums[1]);
for (int i = 2; i < n; ++i)
dp[i] = max(dp[i-1], nums[i] + dp[i-2]);
return dp[n-1];
}
- A. 计算数组所有元素的和
- B. 计算数组相邻元素的最大和
- C. 计算数组不相邻元素的最大和
- D. 计算数组的最小元素
正确答案:C