站群管理系统,网页设计与制作概述,类豆瓣的模板wordpress,网站网站开发的文章目录 题目描述代码 题目描述
给你一个整数数组 nums #xff0c;请你找出一个具有最大和的连续子数组#xff08;子数组最少包含一个元素#xff09;#xff0c;返回其最大和。
子数组 是数组中的一个连续部分。
示例 1#xff1a;
输入#xff1a;nums [-2,1,-… 文章目录 题目描述代码 题目描述
给你一个整数数组 nums 请你找出一个具有最大和的连续子数组子数组最少包含一个元素返回其最大和。
子数组 是数组中的一个连续部分。
示例 1
输入nums [-2,1,-3,4,-1,2,1,-5,4] 输出6 解释连续子数组 [4,-1,2,1] 的和最大为 6 。 示例 2
输入nums [1] 输出1 示例 3
输入nums [5,4,-1,7,8] 输出23
提示
1 nums.length 105 -104 nums[i] 104
进阶如果你已经实现复杂度为 O(n) 的解法尝试使用更为精妙的 分治法 求解
代码
class Solution {public int maxSubArray(int[] nums) {if (nums.length0){return 0;}//先定义一个结果为最小数方便后面比较和返回int result Integer.MIN_VALUE;int count 0;//遍历的时候求和for (int i 0; i nums.length; i) {countnums[i];if (countresult){resultcount;}//count小于零了就重新开始统计因为前面这些统计过的count就没有意义了只会为后面的数求和增加负担if (count0){count0;}}return result;}
}