键盘输入求乘积最大的连续子数组的完整代码
时间: 2023-07-24 16:30:28 浏览: 77
下面是键盘输入求乘积最大的连续子数组的完整代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int maxProduct(vector<int>& nums) {
int n = nums.size();
int max_so_far = nums[0], min_so_far = nums[0], ans = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < 0) {
swap(max_so_far, min_so_far);
}
max_so_far = max(nums[i], max_so_far * nums[i]);
min_so_far = min(nums[i], min_so_far * nums[i]);
ans = max(ans, max_so_far);
}
return ans;
}
int main() {
vector<int> nums;
int n, x;
cout << "请输入数组长度 n: ";
cin >> n;
cout << "请输入数组元素: ";
for (int i = 0; i < n; i++) {
cin >> x;
nums.push_back(x);
}
cout << "最大乘积为: " << maxProduct(nums) << endl;
return 0;
}
```
在这个例子中,我们使用键盘输入数组,然后调用 `maxProduct` 函数求出最大乘积。
阅读全文