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

    当看到这道题目的时候,没有理解清楚题目,在(数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和)这个条件想了想方法,不知道该如何去写。

    后来理解清楚后用了这个方法去写:把第一个数当成一个子数组、第1、2个数在组成一个数组、第1、2、3数在组成一个数组,以此类推 求出每个数组的和,并将每个数组的和存到另一个数组中

    代码如下:

    for(int j=0;j<a.length;j++)
    {
    a[j] = Integer.parseInt(s[j]);
    sum=sum+a[j];
    b[m]=sum;
    m++;
    }

    接下来开始比较每个和的大小,然后输出最大值。

    max=b[0];
    for(int i=1;i<m;i++)
    {
    if(max<b[i])
    {
    max=b[i];
    }
    }
    System.out.println("max="+max);
    }

    最后那个复杂程度不知道该如何去写,还没有完善。

    下面是整个代码

    package shuzu;
    import java.util.Scanner;
    public class main {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc = new Scanner(System.in);
            String str=sc.nextLine().toString();
            String s[]=str.split(" ");
            int sum=0,m=0;
            int max = 0;
            int a[]=new int[s.length];
            int [] b=new int[30];
            for(int j=0;j<a.length;j++)
            {
                a[j] = Integer.parseInt(s[j]);
                  sum=sum+a[j];
                  b[m]=sum;
                  m++;            
            }
            for(int k=0;k<m;k++)
            {
                System.out.println("sum="+b[k]); 
            
            }
            max=b[0];
            for(int i=1;i<m;i++)
            {
                if(max<b[i])
                {
                    max=b[i];
                }
            }
            System.out.println("max="+max);
        }
        
    }

  • 相关阅读:
    文本字符集转换
    添加HP消息队列
    fedora19/opensuse13.1 配置svn client
    前端html---介绍前端,标签,列表
    数据分析1
    项目流程
    git 使用
    mongo基础
    linux上面pycharm汉化
    pythonNet 09协程
  • 原文地址:https://www.cnblogs.com/lishengming00/p/10500534.html
Copyright © 2011-2022 走看看