53、最大子序和
阿新 • • 發佈:2018-12-01
輸入: [-2,1,-3,4,-1,2,1,-5,4],
輸出: 6
解釋: 連續子陣列 [4,-1,2,1] 的和最大,為 6
程式碼如下:
class Solution {
public static int maxSubArray(int[] nums) {
int maxsum=nums[0]; //定義陣列最大和初始值
int tempsum=nums[0]; //定義陣列臨時和初始值
for(int i=1;i<nums.length;i++){
//當tempsum初始值nums[0]<=0時,應使tempsum=nums[1] 而不是等於0,原因如下面的測試例項
tempsum=tempsum<=0?nums[i]:nums[i]+tempsum;
if(tempsum>maxsum)
maxsum=tempsum;
}
return maxsum;
}
public static void main(String[] args){
int a[]={-1};
System.out.println(maxSubArray(a));
}
}