• 整形数组最大子数组的和


    要求求出整型数组的最大子数组的和,要求复杂度o(n)

    首先想到直接依次遍历,复杂度n三次方

    package shuzu;
    import java.util.Scanner;
    public class Shuzu {
     public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
             int[] a = new int[5];
             // 控制台输入数组值
             for (int i = 0; i < a.length; i++) {
                 System.out.println("请输入第" + (i + 1) + "个数字:");
                 int num = sc.nextInt();
                 a[i] = num;
             }
             int max=a[0];
             sc.close();
             for(int j=0;j<a.length;j++) {
              for(int k=0;k<a.length;k++) {
               int sum= 0;
               for(int l=0;l<a.length;l++) {
                sum+=a[l];
               }
               if(sum>max) max=sum;
              }
             }
             System.out.println(max);
             return;
     }
    }
     
     
    后来想到一个新的方法
    package shuzu;
    import java.util.Scanner;
    public class shuzu2 {
     public static void main(String[] args) {
      // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
              int[] a = new int[20];
              // 控制台输入数组值
              for (int i = 0; i < a.length; i++) {
                  System.out.println("请输入第" + (i + 1) + "个数字:");
                  int num = sc.nextInt();
                  a[i] = num;
              }
              sc.close();
             
              int max=a[0];
              int sum=a[0];
              for(int i=1;i<a.length;i++) {
               if(sum<0)
                sum=a[i];
               else
                sum+=a[i];
               if(sum>max) max=sum;
              }
              System.out.println(max);
     }
    }
  • 相关阅读:
    自学Linux命令的四种方法
    POJ 1170 Shopping Offers -- 动态规划(虐心的六重循环啊!!!)
    九度OJ 1447 最短路 1008 最短路径问题
    九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
    PHPActiveRecord 学习三
    PHPUnit 组织测试
    PHPActiveRecord validates
    PHPActiveRecord 学习二
    PHPActiveRecord 学习一
    PHP ActiveRecord demo栗子中 关于类名 的问题
  • 原文地址:https://www.cnblogs.com/lixv2018/p/10506592.html
Copyright © 2020-2023  润新知