求最大连续子数组和(Kadane),横线处应填入:
dp[0] = nums[0];
int maxSum = dp[0];
for (int i = 1; i < n; i++) {
________; // 填入选项
maxSum = max(maxSum, dp[i]);
}
return maxSum;
- A. dp[i] = max(nums[i+1], dp[i-1] + nums[i]);
- B. dp[i] = max(nums[i], dp[i-1] + nums[i]);
- C. dp[i] = max(nums[i], dp[i+1] + nums[i]);
- D. dp[i] = max(nums[i], dp[i-1] + nums[i+1]);
正确答案:B