题库 C++/C语言题库 题目列表 给定一个整数数组nums,找到一个具有最大和的连续子数...
单选题

给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。下面横线处应该填入的是()

1 #include <iostream> 
2 #include <vector> 
3 #include <algorithm> 
4 using namespace std; 
5
6 int maxSubArray(vector<int>& nums) { 
7  int n = nums.size(); 
8  if (n == 0) return 0; 
9
10  vector<int> dp(n, 0); 
11  dp[0] = nums[0]; 
12  int maxSum = dp[0]; 
13
14  for (int i = 1; i < n; i++) { 
15   _____________________________________
16   maxSum = max(maxSum, dp[i]); 
17  } 
18
19  return maxSum; 
20 } 
21
22 int main() { 
23  int n; 
24  cin >> n; 
25
26  vector<int> nums(n); 
27  for (int i = 0; i < n; i++) { 
28   cin >> nums[i]; 
29  } 
30
31  int result = maxSubArray(nums); 
32  cout << result << endl; 
33
34  return 0; 
35 }


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]);
题目信息
2025年 七级 选择题
-
正确率
0
评论
35
点击