02数组

Posted --lzx1--

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02数组相关的知识,希望对你有一定的参考价值。

1、题目要求:

        a、输入一个整数数组,数组里有正数也有负数。

        b、数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

        c、求所有子数组的和的最大值。

 2、思路构想:

   求数组中的一个元素(a)和上一个元素(b)的和(c),将 a 和 c 进行比较,若 c > a ,则用 c 代替 a 的值,此操作遍历整个数组,此时最大子数组的和就会被保存在数组中的某一个位置。最后再次遍历数组,求得最大子数组的和。

      3、思路构想的代码解释:

1、通过用户输入数组容量,随机产生一个整型数组

2、通过循环遍历所有元素求出以该元素为首节点的所有子数组的和,将其存入一个list中

3、求出list的最大值

public static int getResult(ArrayList<Integer> array) {

        int sum = 0;

        int result = array.get(0);

        for (Integer integer : array) {

            if(sum<=0)

                sum = integer;

            else

                sum += integer;

 

            if(sum>result)

                result = sum;

        }

        return result;

    }

以上是关于02数组的主要内容,如果未能解决你的问题,请参考以下文章

求最大子数组02

求最大子数组02

java数组02-数组声明和创建

02指针进阶

02数组

Java学习-----02.数组和字符串