1186. 删除一次得到子数组最大和

dp问题

 1 int maximumSum(vector<int>& arr) {
 2     int size = arr.size();
 3     vector<vector<int>> vec(size, vector<int>(2, 0));
 4     vec[0][0] = arr[0];
 5     vec[0][1] = 0;
 6     int ans = -1e6;
 7     ans = max(ans ,vec[0][0]);
 8     for (int i = 1; i < size; i++)
 9     {
10         vec[i][0] = max(vec[i - 1][0] + arr[i], arr[i]);
11         vec[i][1] = max(vec[i - 1][0], vec[i - 1][1] + arr[i]);
12         ans = max(ans, vec[i][0]);
13         ans = max(ans, vec[i][1]);
14     }
15     return ans;
16 }

猜你喜欢

转载自www.cnblogs.com/zouma/p/11653597.html