zoukankan      html  css  js  c++  java
  • 整形数组中最大子数组地和

    
    

    package max;
    import java.util.Scanner;
    public class max {
    public static void main(String args[])
    {
    Scanner s=new Scanner(System.in);
    System.out.println("数组长度:");
    int sum=s.nextInt();
    int []a=new int[sum];
    System.out.println("请输入"+sum+"个数:");
    for(int i=0;i<sum;i++)
    {
    a[i]=s.nextInt();
    }
    s.close();
    int sum1=0;
    for(int i=1;i<=sum;i++)
    {
    sum1=sum1+i;
    }
    int [] b=new int[sum1];
    int temp1=0;
    for(int i=0;i<sum;i++)
    {
    int temp=0;
    for(int k=0;k<sum-i;k++)
    {
    temp=temp+a[i+k];
    b[temp1]=temp;
    temp1++;
    }
    }
    for(int i=0;i<sum1-1;i++)
    for(int k=0;k<sum1-1-i;k++)
    {
    if(b[k]<b[k+1])
    {
    int temp2=b[k];
    b[k]=b[k+1];
    b[k+1]=temp2;
    }
    }
    System.out.println("最大子数组之和为"+b[0]);
    }
    }

     

    一直想不出来如何求这个最大子数组,即使不用O(n)也不会,后面听了同学的讲解还是不太会,人太笨,最后用的解决办法并不是最优解。

    截图:

  • 相关阅读:
    makefile文件编写
    soem函数库的编译
    加秘钥的SSH
    ssh传文件
    ssh1
    安装paramiko的方法
    Ftp客户端(上传文件)
    ftp服务端
    vi编辑器没有颜色的解决办法
    socket服务器
  • 原文地址:https://www.cnblogs.com/sljslj/p/10873444.html
Copyright © 2011-2022 走看看