求一个整数数组的最大子数组之和

这篇博客探讨了如何找到一个包含正负数的整数数组中的最大连续子数组之和。通过维护一个最大值变量max和当前和变量current,在遍历数组过程中动态更新这两个值,当current小于0时,将其重置为0。虽然最初考虑了动态规划和贪心策略,但最终的解决方案更加直接,适应了包括a[0]为负数和a[1]为正数在内的各种情况。
摘要由CSDN通过智能技术生成

题目求一个整形数组里面有正有负,求最大连续子数组之和

思路:其实挺明确的,就是保存一个最大值max,在用一个变量current,在for循环中叠加数组元素,如果current大于max就赋值给max,如果current<0就将current置为0,代码主要参考网上的,但是要考虑a[0]为负数,a[1]为正数的时候。
开始想的有点复杂,想到动态规划和贪心去了,但是发现在写代码的时候,写半天没写出来。。。。,看网上的解题思路,再稍微改了一下。

package com.sf;

public class MaxSuccessiveSub {
    private int[] a;
    private int[] result;

    public MaxSuccessiveSub(int[] a) {
        super();
        this.a = a;
    }


    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值