整数组中取最大子数组

寻找最大子数组

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

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

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

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

程序:

public class MM {
      public static void main(String args[]){
          int a[]={1,-5,7,-3,-4,4,8,-9};
          int aa[]={1,-5,7,-3,-4,4,8,-9,1,-5,7,-3,-4,4,8,-9};
         
          am(a,aa);
      }
      
      static int [] am(int []a,int []aa){        
              int shou=0; int wei=0;
              int shou2=0;int wei2=shou2;
              int max=0;int max2=aa[shou2];
            for(int i=0;i<a.length;i++){
                shou2=i;wei2=i;max=0;
              for(int j=i;j<a.length+i;j++){       
                  if(max+aa[wei2]<0){             
                      shou2=wei2+1;
                      wei2=wei2+1;
                      max=0;       
                  }
                  else{        
                      if(aa[wei2]+max>max2){              
                         shou=shou2;wei=wei2;
                         max2=aa[wei2]+max; 
                         max=max2;
                        }else{
                      max=aa[wei2]+max;} 
                      wei2++;
                   }
              }
            }
              if (max2 <= 0) { 
                  max = aa[0];
                  for (int i = 0; i < aa.length; i++) {
                      if (aa[i] >= max) {
                          max = aa[i];
                          shou=i;wei=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;
      }
    }

 

运行结果 截图;

 

          

 

posted @ 2017-03-31 18:28  发酸的丶蛋炒饭  阅读(132)  评论(0编辑  收藏  举报