赞
踩
题目链接:1186. 删除一次得到子数组最大和
代码如下:
class Solution { public: int maximumSum(vector<int>& arr) { int res=INT_MIN; vector<vector<int>> f(arr.size()+1,vector<int>(2,INT_MIN/2));// 除 2 防止负数相加溢出 for(int i=0;i<arr.size();i++) { f[i+1][0]=max(f[i][0],0)+arr[i]; f[i+1][1]=max(f[i][1]+arr[i],f[i][0]); res=max(res,max(f[i+1][0],f[i+1][1])); } return res; } };
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。