题目描述题解一:贪心1234567891011121314151617class Solution {public: int maxSubArray(vector<int>& nums) { int len = nums.size(); if(len == 0) return -2147483648; //当前和 int cur_sum = nums[0]; //最大和 int max_sum = nums[0]; for(int i = 1; i < len; ++i) { cur_sum = max(nums[i], cur_sum + nums[i]); max_sum = max(max_sum, cur_sum); } return max_sum; }};题解二:动态规划1234567891011class Solution {public: int maxSubArray(vector<int>& nums) { int pre = 0, max_sum = nums[0]; for (const auto &x: nums) { pre = max(pre + x, x); max_sum = max(max_sum, pre); } return max_sum; }};