Maximum Subarray
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.
For example, given the array [−2,1,−3,4,−1,2,1,−5,4],
the contiguous subarray [4,−1,2,1] has the largest sum = 6.
class Solution { public: int maxSubArray(vector<int>& nums) { int numsSize = nums.size(); int preMax = 0; int res = ((unsigned int)(-1)>>1)+1; for(int i=0;i<numsSize;i++){ if(i==0){ preMax = nums[i]; res = nums[i]; }else{ preMax = max(preMax+nums[i],nums[i]); res = max(res,preMax); } } return res; } };
写者:zengzy
出处: http://www.cnblogs.com/zengzy
标题有【转】字样的文章从别的地方转过来的,否则为个人学习笔记
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号