Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
133828 | baim. | 最大子序和 | C++ | 解答错误 | 33 | 0 MS | 240 KB | 573 | 2024-03-02 09:41:57 |
#include <iostream> #include <vector> using namespace std; int maxSubArray(vector<int>& nums) { int ans = nums[0]; // 初始化最终答案 int cur = nums[0]; // 初始化当前连续子数组 for (int i = 1; i < nums.size(); ++i) { cur = max(nums[i], cur + nums[i]); // 更新当前连续子数组和 ans = max(ans, cur); // 更新最终答案 } return ans; } int main() { vector<int> nums = {-2, 1, -3, 4, -1, 2, 1, -5, 4}; int ans = maxSubArray(nums); cout << ans << endl; // 6 return 0; }