给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。
样例
给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6
public int maxSubArray(int[] nums) {
if (nums == null || nums.length == 0) return 0;
int result = nums[0];
for(int j = 0;j<nums.length;j++){
int sum = 0;
int temp_result = nums[j];
for (int i=j; i<nums.length; i++) {
int temp = nums[i];
sum+=temp;
if(sum>temp_result)
temp_result = sum;
}
if(temp_result>result)
result = temp_result;
}
return result;
}
转载请注明原文地址: https://ju.6miu.com/read-667932.html