码迷,mamicode.com
首页 > 编程语言 > 详细

整数组中取最大子数组

时间:2017-03-31 18:46:06      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:png   循环   img   stat   tin   public   break   bre   log   

寻找最大子数组

1.设计思路;首先数组首尾连接问题 ,只需要将两个相同数组拼接即可。

            寻找最大子数组流程:定义变量 max  shou  wei   从数组下标0开始循环,最初遇到整数小于0,舍去,找第一个大于零的数字。

                                                            第一个正整数存储   于shou   从下一个开始循环,求和。

                                                           当和小于0,舍去。      循环一遍 求得和值最大值的下标。

程序:

 public class Max {
  public static void main(String args[]){
      int a[]={-5,-5,7,0,5,-4,-8,-9};
      int aa[]={1,-5,7,-3,-4,4,8,-9,1,5,7,-3,-4,4,8,-9};
     
      am(a);
  }
  
  static int [] am(int []aa){
      int shou=0; int wei=0;
      int shou2=0;int wei2=shou2;
      int max=0;int max2;
      for(int j=0;j<aa.length-1;j++){
          while(aa[shou2]<0){
              shou2++;
              wei2++;j++;
              max=aa[shou2];
              if(aa[shou2]>aa.length-1){break;}
              continue;
           }
          if(max+aa[wei2]<0){
            
              shou2=wei2+1;
              wei2=wei2+2;j++;
              max=aa[shou2];
              
              continue;
          }

          else {
              max=aa[wei2]+max; 
              if(aa[wei2]+max>max){               
                 shou=shou2;wei=wei2;
              }
              wei2++;
              
          }
      }
      if (max <= 0) {
            for (int i = 0; i < aa.length; i++) {
                if (i == 0) {
                    max = aa[i];
                }
                if (aa[i] > max) {
                    max = aa[i];
                }
            }
        }
    
      System.out.println("第一次答案 下标开始"+shou+"下标结尾"+wei);
      if(wei>aa.length/2){wei=wei-aa.length/2;
      System.out.println("下标开始"+shou+"  下标结尾第二圈"+wei);}
      else{System.out.println("下标开始"+shou+"下标结尾"+wei);}
      return aa;
  }
}

运行结果 截图;

技术分享

 

          

 

整数组中取最大子数组

标签:png   循环   img   stat   tin   public   break   bre   log   

原文地址:http://www.cnblogs.com/du1269038969/p/6652811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!