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


    一:设计思想

    先定义一个与原数组长度相同的空数组,然后将原数组的第一个数赋值给空数组的第一个位置,然后用循环比较原数组的数字与空数组的前一个数字相加是否为负数,得到第二个数组后进行比较就可以得到整数数组中最大子数组的和并且时间复杂度为O(n)。

    二:源代码

    //返回一个整数数组中最大子数组的和。
    //信1405-1班   20142966  黄伟鹏
    import java.util.Scanner;
    public class shuzu 
    {
        public static void main(String[] args)
        {
            // TODO 自动生成的方法存根
            int i,length;
            System.out.println("请输入要进行比较的数字个数:");
            Scanner in=new Scanner(System.in);
            //定义数组长度
            length=in.nextInt();
            int list[]=new int[length];
            System.out.println("请输入要进行比较的数字:");
            Scanner t=new Scanner(System.in);
            //定义数组的内容
            for(i=0;i<length;i++)
            {
                list[i]=t.nextInt();
            }
            //定义一个空的存储数组
            int size[]=new int[length];
            //将数组中的数字相加,求最大值
            size[0]=list[0];
            for(i=1;i<length;i++)
            {
                if(size[i-1]<0)
                {
                    size[i]=list[i];
                }
                else
                {
                    size[i]=list[i]+size[i-1];
                }
            }
            //求出最大值
            for(i=0;i<length-1;i++)
            {
                if(size[0]<size[i+1])
                {
                    size[0]=size[i+1];
                }
            }
            //输出最大值
            System.out.println(size[0]);
        }
    }

    三:程序结果截图

  • 相关阅读:
    iOS 绕过https证书验证 请求数据
    RN import ** from ** 用法
    蓝牙开发笔记
    golang笔记
    python3 md5
    python3 zip压缩
    nginx应用
    zipimport.ZipImportError: can't find module 'encodings'
    python3 模块安装列表
    cmd笔记
  • 原文地址:https://www.cnblogs.com/xiaoabu/p/5369103.html
Copyright © 2020-2023  润新知