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

    返回一个整数数组中最大子数组的和

     

    一、题目要求: 输入一个一维整形数组,数组里有正数也有负数。 一维数组首尾相接,像一条首尾相接的带子一样。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。 

    二、源代码:

    package demo;  

     2   

     3 public class T1 {  

     4     public static int Max(int[] a) {  

     5         int []b=new int[10];

     6         int m = 0;

     7         int n = 0;  

     8         int i;

     9         int j=0;

    10         int t=0;

    11         for (i = 0; i < a.length; i ++) {  

    12             n += a[i];  

    13             if (n > m)           

    14                 m = n;  

    15             else if (n < 0)  

    16                 n = 0;  

    17         }  

    18         int k=a[0];

    19         for(i = 0;i < a.length;i ++) {            

    20                if(k > a[i]) { 

    21                  k = a[i]; 

    22                  j = i; 

    23                } 

    24         }

    25         t = j; 

    26         i = 0; 

    27         while(j < a.length) {        

    28                 b[i] = a[j]; 

    29                 i ++; 

    30                 j ++;  

    31         }    

    32         j = 0; 

    33         while(j < t) {          

    34                b[i] = a[j];

    35                i ++; 

    36                j ++; 

    37         } 

    38         n = 0; 

    39         for(i = 0;i < a.length;i ++) {          

    40                n += b[i];

    41                if(m < n) {  

    42                   m = n; 

    43                } 

    44                if(n < 0) {               

    45                    n = 0; 

    46                } 

    47         }

    48         return m;

    49  

    50 } 

    51 

    52     public static void main(String[] args) {  

    53         int a[] = { 6 , -5 , 1 , 4, 7, 10};  

    54         System.out.println("最大子数组的和为"+Max(a));  

    55     }  

    56 }

    三、合作过程

    在此次代码编写过程中,我主要负责代码复审和代码测试,我是将各功能分步去实现的,这样有助于我找出代码中存在的bug,缩小了我的查找范围。

  • 相关阅读:
    FEniCS 1.1.0 发布,计算算术模型
    Piwik 1.10 发布,增加社交网站统计
    淘宝褚霸谈做技术的心态
    CyanogenMod 10.1 M1 发布
    Druid 发布 0.2.11 版本,数据库连接池
    GNU Gatekeeper 3.2 发布
    Phalcon 0.9.0 BETA版本发布,新增大量功能
    EUGene 2.6.1 发布,UML 模型操作工具
    CVSps 3.10 发布,CVS 资料库更改收集
    Opera 移动版将采用 WebKit 引擎
  • 原文地址:https://www.cnblogs.com/fychen0302/p/7008913.html
Copyright © 2011-2022 走看看