• 上课练习(二)


    思路:先建立一个文件,将随机生成的数据存入文件中,然后读取文件数据对数据进行判断从而求出最大子数组的和。

    package com.pre;
    
    public class Sz 
    {
          public static void main(String[] args)
          {
              int []a= {1,2,3,4,-5,5,6,-5};
              maxSubArry(a);
    
         }
          public static void maxSubArry(int []a )
          {
            int start=0;//数组的起始下标
            int end=0;//数组的最后元素的下标
            int leng=0;//子数组的长度
            int add=0;
            Integer sum=null;
            while(leng<=a.length)
            {
             for(int i=0;i<(a.length-leng);i++)
             {
                for(int j=i;j<(i+leng-1);j++)
                {
                    add+=a[j];
                }
                if(sum==null||sum<add)
                {
                    sum=add;
                    start=i;
                    end=i+leng-1;
                }
             }
             leng++;
            }
            System.out.println("和为最大值的子数组的元素为:");
            for(int k=start;k<=end;k++)
            {
                System.out.println(a[k]+""+",");
            }
            System.out.println("和为"+sum);
          }
    }      
         
  • 相关阅读:
    第三周课程总结
    Java第一次学习总结
    第十二周编程总结
    第九周作业
    第八周作业
    第五周编程总结
    第三周作业
    第二周编程总结
    JAVA第二周学习总结
    2019春总结作业
  • 原文地址:https://www.cnblogs.com/lq13035130506/p/10549298.html
Copyright © 2020-2023  润新知