赞
踩
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。
/**
* @作者:dhc
* @创建时间:14:18 2018/8/8
* @描述:53.最大子串和
*
*/
public class FiftyThree {
//方法1.1:三重for循环求出所有子串和 (leetCode超出时间限制)
public int maxSubArray1(int[] nums){
int sum = nums[0];
for (int i = 0; i < nums.length; i++) {
for (int j = i; j < nums.length; j++) {
int thissum = 0;
for (int k = i; k <= j; k++) {
thissum+=nums[k];
}
if(thissum > sum){
sum = thissum;
}
}
}
return sum;
}
//方法1.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。