提交时间:2024-03-02 09:41:57
运行 ID: 133828
#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; }