class Solution { public: int maxSubarraySumCircular(vector<int>& A) { int maxsum=INT_MIN; int minsum=INT_MAX; int total=0; int curmax=0; int curmin=0; for(int i=0;i<A.size();i++){ curmax=max(curmax+A[i],A[i]); curmin=min(curmin+A[i],A[i]); maxsum=max(maxsum,curmax); minsum=min(minsum,curmin); total+=A[i]; } return total==minsum?maxsum : max(maxsum,total-minsum); } };
LC 918. Maximum Sum Circular Subarray
猜你喜欢
转载自www.cnblogs.com/FEIIEF/p/12898699.html
今日推荐
周排行