Given one array, and calculate its maximum sum from any sequential subarray set
Cpp code demo as below:1 int maxSubarraySum(int arr[], int length, int& beg, int& end) 2 { 3 assert(arr!=0); 4 int maxSum = 0; 5 int tmpSum = 0; 6 beg = 0; end = 0; 7 for (int i = 0; i < length; i++) { 8 tmpSum += arr[i]; 9 if (tmpSum < 0) { // discard it10 tmpSum = 0;11 beg = end = i+1;12 }13 if (tmpSum > maxSum) {14 maxSum = tmpSum;15 end = i+1;16 }17 }18 if (maxSum ==0 ) { // if all numbers are negative, return max value19 maxSum = arr[0];20 for (int i = 1; i < length; i++)21 if (maxSum < arr[i]) {22 maxSum = arr[i];23 beg = i; end = i+1;24 }25 }26 return maxSum;27 }28