zoukankan      html  css  js  c++  java
  • 课时作业1

    import java.util.Scanner;

    public class shuzu {//最大的括号

    public shuzu() {
    // TODO Auto-generated constructor stub
    }

    public static void main(String[] args)
    {//1
    int max=0;int sum=0;
    Scanner scanner=new Scanner(System.in);
    System.out.println("输入数组长度");
    int n=scanner.nextInt();
    System.out.println(n);
    System.out.println("输入一个数组");
    int A[]=new int [n];
    int B[]=new int [n];
    int C[]=new int [n];
    for(int i=0;i<n;i++)//这一步之前都是把数组输入
    {A[i]=scanner.nextInt();}

    if(A.length==0)
    {max=0;System.out.println(max);}
    else if(A.length==1)
    {max=A[0];
    System.out.println(max);}//这里是把数组长度为0和为1的情况算进去了





    else {//2
    for(int k=0;k<n;k++) {//3
    for(int i=k,a=0;i<n;i++)
    {
    a=a+A[i];
    B[i]=a;

    }//使得B数组n个从一开始的子数组
    C[k]=B[0];
    for(int i=k;i<n;i++)
    {
    if(B[i]>C[k])
    C[k]=B[i];}

    }//3排序使得B中的最大值为c【n】,从一开始是c【1】;
    }//2
    max=C[0];
    for(int i=1;i<n;i++)
    {

    if(C[i]>max)
    {max=C[i];}



    //System.out.println(max);用这个来查看计算结果
    }
    System.out.println(max);











    }//1

    }//最大的括号

     源代码如上

            

    这都是失败的例子,代码中还有很多实验的地方都被我删除了

    成功图如下

     关于这道题目,简单谈谈我的心路历程

    首先审题之后发现是一道有点像是数学题的题目

    个人感觉有点难度,不过老师的提醒起了很大作用

    就是从第一个数开始,把所有的子数组都确定下来,在比大小

    当然我知道,也有其他方式,比如确定子数组累加是否为正,分块等

    不过我还是觉得用最笨的方法比较好

    因为他繁杂的地方,由电脑来处理(用循环来处理就行了)

    其实这道题目的雏形我刚开始的时候就确定了

    输入数组的设置花了点时间,因为基本语句都快忘光了。而且要一步一个打印,已确定结果

    然后排除掉特殊情况,比如空数组,只有一个数等情况

    然后苦于数不好储存,因为要比大小,用循环需要有数来存储

    于是我选择的方式是用B数组来存不同长度的子数组

    在进行排序,把b数组的最大值赋予c数组

    再把c数组求最值就行了。处理起来也不难,我很擅长使用循环

    不过中间除了一些问题

    不过我也学到了,再循环中加入打印(如上图)

    这样逐行看显示结果就不会出问题了

    有一个错误点很关键,就是千万不要把赋初值语句放进循环中

    最后,这种题目非常开发思维,方案我想到了好几种,最后选择了一个我能驾驭的完成。

  • 相关阅读:
    volatile用法
    static用法
    sizeof用法
    C语言void关键字的深刻含义
    extern用法
    const用法
    attribute用法
    Task的运行过程分析
    Android BroadcastReceiver实例Demo(有序广播的发送)
    旅行-许巍
  • 原文地址:https://www.cnblogs.com/jyt123/p/10503185.html
Copyright © 2011-2022 走看看