美文网首页程序员
最大连续子数组的和

最大连续子数组的和

作者: reedthinking | 来源:发表于2017-06-20 18:08 被阅读0次

输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值

public class MaxSubArray {
    public int maxSubArray(int[] a, int n) {
        //保存当前和
        int curSum = 0;
        //最大和
        int maxSum = 0;
        for (int i = 0; i < n; i++) {
            //加入下一个元素是否会获得更大的结果,如果更大,子数组连续,否则寻找新数组
            curSum = (a[i] > a[i] + curSum) ? a[i] : a[i] + curSum;
            //保存最大结果
            maxSum = (maxSum > curSum) ? maxSum : curSum;
        }
        return maxSum;
    }

    public static void main(String[] args) {
        int[] a = { 1, -5, 4, 6, -3, 9 };
        MaxSubArray maxSubArray = new MaxSubArray();
        System.out.println(maxSubArray.maxSubArray(a, 6));
    }
}

相关文章

  • 数组中连续子数组的最大乘积(LeetCode152. 乘积最大子

    题目 解析 在了解连续子数组最大乘积之前,请先参考数组中连续子数组的最大和(LeetCode53. 最大子序和)[...

  • 【数组】--零子数组、最大连续子数组、数字连续子数组

    零子数组:对于长度为N的数组,求连续子数组和和最接近0的值和子数组最大连续子数组:给定一个数组A,求A的连续子数组...

  • 连续最大和

    一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3...

  • 算法训练2

    题目描述:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],...

  • 求解最大子数组问题

    最大子数组:数组A的和最大的非空连续子数组。 考虑使用分治策略来求解。因此要将子数组划分为两个规模尽量相等的子数组...

  • 8. 动态规划

    1. 最大连续子数组和 求数组中连续的一个或多个子数组的最大和,并记录开始和结束位置 1.1 最大子矩阵和 算法思...

  • 最大连续子数组和

    /* 最大连续子数组和 给定一个整数数组,数组里可能有正数、负数和零。数组中连续的一个或多个整数组成一个子数组,每...

  • 最大连续子数组和

    最大连续子数组和 题目描述: 输入一个整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每...

  • 和最大连续子数组

  • LeetCode 每日一题 [25] 最大子序和

    LeetCode 最大子序和 [简单] 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包...

网友评论

    本文标题:最大连续子数组的和

    本文链接:https://www.haomeiwen.com/subject/roraqxtx.html