• 个人作业2 数组


    要求:

    输入一个整形数组,数组里有正数也有负数。

    数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。

    求所有子数组的和的最大值。要求时间复杂度为O(n)

    package shuzu;
    import java.util.*;
    public class shuzuu{
        public static void main(String[] args)
        {
            Scanner input=new Scanner(System.in);
            int n=0;
            System.out.print("输入数的个数:");
            n=input.nextInt();
            System.out.print("输入"+n+"个数:");
            int a[]=new int[5];
            for(int i=0;i<5;i++) {               
                a[i]=input.nextInt();
            }                     
            int max[]=new int[a.length];
            for(int i=0;i<max.length;i++) {
                max[i]=0;
            }
            int sum=0;
            for(int i=0;i<a.length;i++) {          
                max[i]=a[i];
                sum=max[i];
                if(i<a.length) {
                    for(int j=i+1;j<a.length;j++) {
                        sum=sum+a[j];
                        if(max[i]<sum)max[i]=sum;
                    }
                }
            }
            int max1=max[0];
            for(int i=1;i<max.length;i++) {
                if(max1<=max[i]) {
                    max1=max[i];
                }
            }
            System.out.println(max1);
        }
    }

  • 相关阅读:
    python学习第十五天
    python学习第十三、十四天
    python学习第十二天
    python学习第j十一天
    python学习第十天
    ViewController push的自定义动画
    iOS 判断设备是否越狱
    iOS
    OBJC字面量
    ios8 share Extension 分享扩展
  • 原文地址:https://www.cnblogs.com/jbwen/p/11071610.html
Copyright © 2020-2023  润新知