• 软件工程个人作业04(求数组最大子数组的和)


      题目:返回一个整数数组中最大子数组的和。

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

    程序设计思想:程序中使用到一个用来求数组的最大子数组和的函数,这里可以将原数组的前n-1项加到数组的后面,形成一个新的数组,这样就可以求这种首尾相连的数组的最大子数组和了。

    源代码:


    public class zishuzu {

        /**
         * @param args
         */
        
    public static int max(int array[])
    {
        int Max=0;
        int sum=0;
        int len;
        len=array.length;
        for(int i=0;i<len;i++)
        {
            sum+=array[i];
            if(sum>Max)
            {
                Max=sum;
            }
            if(sum<0)
            {
                sum=0;
            }
        }
        return Max;
        
    }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[]={1,2,-3,5,7,-8};
            System.out.print("测试数组为:");
            for(int i=0;i<a.length;i++)
            {
                System.out.print(a[i]+",");
            }
            System.out.println("");
            System.out.println("该数组最大子数组的值为:"+max(a));
            int b[]={1,2,-3,5,7,-8,1,2,-3,5,7};
            System.out.print("将数组首尾相连后,数组等价于:");
            for(int k=0;k<b.length;k++)
            {
                System.out.print(b[k]+",");
            }
            System.out.println("");
            
            System.out.println("该数组最大子数组的值为:"+max(b));

        }
        
    }



    试验结果截图:

     周活动总结表:

    日期/任务

    听课

    阅读课本

    课下学习

    日总计

    周日3.26

    周一

    120m

    30m

    30m

    150m

    周二

    40m

    40m

    周三

    50m

    50m

    周四

    120m

    40m

    20m

    180m

    周五

    40m

    40m

    周六

    40m

    40m

    周总计

    240m

    70m

    2100m

    540m

    时间记录日志:

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    C

    U

    3.6

    14:00

    16:00

    10m

    110m

    上课,编程

    软件工程课

     

     

    3.7

    19:00

    21:00

    20m

    100m

    看书,编程

    写软件工程作业

     

     

    3.8

    19:00

    21:00

    15m

    105m

    看书,编程

    javaweb

     

     

    3.9

    16:00

    18:00

    10m

    110m

    上课

    Javaweb上课

     

     

    3.10

    18:00

    20:00

    30m

    90m

    构思,写java

    写四则运算程序3

     

     

  • 相关阅读:
    跨浏览器 JavaScript判断窗口是否最小化
    .net 5 获取用户真实IP(nginx)
    C# EF 字符串模糊查询完整实例 lambda
    (zt)过程生成
    (zt)IOS开发常用的开源类库和一些示例
    wp7 生命周期及多任务 详解
    Js中concat()与push()的区别
    Ruby中p、print和puts的区别
    jquery Bug:当表单中包含name为nodeType的input时jquery选择器失效的bug 与您分享我的快乐
    Openlaszlo学习(一)Demo "Applying Constraints"的修改 与您分享我的快乐
  • 原文地址:https://www.cnblogs.com/yibao/p/6653020.html
Copyright © 2020-2023  润新知