案例详情:
给定一个整数数组,求解其中最大连续字串的和?
代码展示:
1 /** 2 * 最大连续字串 3 * @param nums 4 * @return 5 */ 6 public int continueMaxOfNums(int[] nums){ 7 8 9 int current = 0; 10 int max = 0; 11 12 int nums_max = nums[0]; 13 int i = 0; 14 for(; i < nums.length;i++){ 15 if(nums[i] > nums_max){ 16 nums_max = nums[i]; 17 } 18 if(nums[i] > 0){ 19 break; 20 } 21 } 22 if(nums_max <= 0){ 23 return nums_max; 24 } 25 26 for(; i < nums.length;i++){ 27 if(nums[i] < 0){ 28 if(current > max){ 29 max = current; 30 } 31 if(current + nums[i] < 0){ 32 current = 0; 33 }else{ 34 current += nums[i]; 35 } 36 }else{ 37 current += nums[i]; 38 } 39 } 40 if(current > max){ 41 max = current; 42 } 43 44 return max; 45 }
原文:https://www.cnblogs.com/oldhands/p/11485803.html