zoukankan      html  css  js  c++  java
  • 第五周课堂测试

    设计思想:

    1、通过调用输入函数进行数组的录入;

    2、利用课堂老师讲的动态规划对数组中的子数组进行求最大值操作;

    *3、添加一个max0对曾经的最大值进行储存,避免出现最大值出现数组中间而导致的错过问题;

    出现的问题:

    好久不用eclipse了,很多基本的操作还需要重新温习才可以;

    数字的输入代码通过上网查询才敲好;

    可能的解决方案:

    目前想不到在时间复杂度允许的范围内的其他的方法;

    源代码:

    package max;
    import java.util.*;
    public class Array_max {
        public static int Cin(int i){
            Scanner in=new Scanner(System.in);
            System.out.println("请输入第"+(i+1)+"个数");
            int b=in.nextInt();
            return b;
        }
        public static int Get(int len[],int num){
            int max = len[0];
            int max0=0;
            for(int i=1;i<num;i++){
                if(len[i]>0){
                    max=max+len[i];
                }
                else{
                    if(max>max0){
                        max0=max;
                    }
                    max=0;
                }
            }
            return max0;
        }
        public static void main(String args[]){
            Scanner in=new Scanner(System.in);
            System.out.println("请输入数组数字个数:");
            int num=in.nextInt();
            int len[]=new int[num];
            for(int i=0;i<num;i++){
                len[i]=Cin(i);
            }
            int max=Get(len,num);
            System.out.print("子数组和的最大值为:"+max);
        }
    }

    结果截图:

    总结:其实代码很简单,关键是思想很难想到,如果没有上课老师提点,估计只是想思路就要耗费大量时间!

  • 相关阅读:
    2019年春季学期第三周作业
    2019年春季学期第二周作业
    7-2 求最大值及其下标 (20 分)
    7-1 查找整数 (10 分)
    人生中最重要的三位老师
    自我介绍
    学期总结
    编程作业 抓老鼠啊~亏了还是赚了?
    作业——10
    作业——9
  • 原文地址:https://www.cnblogs.com/dawn-sky/p/5368998.html
Copyright © 2011-2022 走看看