剑指 Offer 42. 连续子数组的最大和
//找规律法 class Solution { public int maxSubArray(int[] nums) { //全局变量标记是否输入无效 boolean isInvalidInput = false; if(nums == null || nums.length <= 0){ isInvalidInput = true; return 0; } isInvalidInput = false; //当前子数组和 int curSum = 0; //最大子数组和 int GreatedSum = 0x80000000; for(int i=0;i<nums.length;i++){ if(curSum <= 0){ //如果是负的,还不如不加 curSum =nums[i]; }else { //正的就 将当前数加到curSum上 curSum += nums[i]; } //保证GreatedSum始终是最大的 if(curSum > GreatedSum) GreatedSum =curSum ; } return GreatedSum; } }