二维数组求和

承接上节课,一维数组求最大子数组,如果数组无限大,最大可以多大?

首先,建立一个文档,产生随机数组存入,第一次测试了1千的数量级,轻轻松松就过了,第二次10万,还是比较简单,只是有点慢,第三次1000万,没有问题,可能是因为我设置得随机数组都是证书,所以到现在还没有问题,不知道如果加一倍的负数会怎样,因为当我试到2000万的时候就已经溢出了。

随机数组的代码:

 1 try {
 2 
 3             FileWriter fw = new FileWriter("one.txt");
 4             BufferedWriter bw = new BufferedWriter(fw);
 5             for (int i = 0; i < 10000000; i++) {
 6                 int n = (int) (Math.random() * 100);
 7                 BigInteger big=BigInteger.valueOf(n);
 8                 String s = n + "";
 9                 bw.write(s); 
10                 bw.newLine(); 
11             }

然后读取:

1 try {
2             FileReader fr = new FileReader("one.txt");
3             BufferedReader bf = new BufferedReader(fr);
4             String st;
5             while ((st = bf.readLine()) != null) {
6                 arrList.add(st);
7             }

剩下的代码是上次的代码,也没啥好说的。

以及这节课的新任务:

题目要求:

 

程序要使用的数组放在一个叫 input.txt 的文件中, 文件格式是:

数组的行数,

数组的列数,

每一行的元素, (用逗号分开)。

每一个数字都是有符号32位整数,当然,行数和列数都是正整数。

  可能是我不太懂,开始没思路。

  所以我就跟其他同学讨论,问他们是如何看这道题的,,,,结果是他们大多也不太懂,但还能由自己的一定的想法,我们都有自己的想法,我们思想碰撞八九不十。

  然后讨论如何求出来:

  首先就浮想出来的第一个简单的方法:最笨最粗暴的方法把所有的值都求出来,找最大,这很麻烦,还是免了吧,这样的思想想想就算了,懒是第一生产力,我们要懒点,

首先,这是一个二维数组,我们可以用二维数组存起来,文件读取也很简单,第一步还可以解决, 

posted @ 2019-03-18 19:56  masuo  阅读(550)  评论(0编辑  收藏  举报