zoukankan      html  css  js  c++  java
  • 返回一个整数数组中最大子数组的和

    要求: 输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n) 

    设计思想

      首先需要让其有数可存,设计数组,其次让其满足要求,通过限制条件,使得各个子数组求和,最后找出子数组和的最大值

    出现的问题

            在编辑过程中不能很好的解决满足情况的子数组

    源代码

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    public class number {
        public static void main(String[] args){
            List<Integer> list = new ArrayList<>();
            int sum = Integer.MIN_VALUE;
            int i,max = sum;
            Random random = new Random();
            int length = random.nextInt(5);
            for (i = 0;i < length; i++){
                list.add(random.nextBoolean()?random.nextInt(10):random.nextInt(10) * (-1));
            }
            for (i = 0;i < length; i++){
                System.out.print(list.get(i).intValue()+"   ");
            }
            System.out.println();
            for (i = 0; i < length; i++){
                if (sum < 0){
                    sum = list.get(i).intValue();
                }else {
                    sum += list.get(i).intValue();
                }
                if (max < sum){
                    max = sum;
                }
            }
            System.out.println(max);
        }
    }

    总结

           自己设计思路还欠缺思考,绕了很多弯路,没有及时找到最好路径,同时还上网浏览借鉴了他人的思维,需要多思考、多动手!

  • 相关阅读:
    13.ng-value
    Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
    PHP完整的AES加解密算法使用及例子(256位)
    常用对称加密算法(DES/AES)类(PHP)
    随机字符串生成算法
    JAVA实现AES加密
    Base64的好处
    什么是VC、PE、LP、GP?
    mysql update操作
    iOS开发:用DES对字符串加解密
  • 原文地址:https://www.cnblogs.com/PSLQYZ/p/12378726.html
Copyright © 2011-2022 走看看