package arrays;/*** 题目:求数组连续子序列的和的最大值* y:*** @Author Gavin* @date 2021年12月23日 21:27*/public class array_7 {/*** 思路:* 1.暴力破解法是一种办法* 2.第二种办法* 首先定义一个变量存储最大值,然后我们可以知道如果一个数和其它* 数累计加如果加起来的和为负数,那么就可以直接跳过这个进行下一个累加了,* 因为如果下一个数是负数那就会越加越小,如果下一个数是正数,那么也会越加* 越小的**///Time:O(n)public static int solution(int[] arrays){int max=0,curr=0;for (int i = 0; i < arrays.length; i++) {//只要curr不小于0,那么都连续子序列相加的和都会变大curr=curr<=0?arrays[i]:(curr+arrays[i]);max=Math.max(max,curr);}return max;}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。