|
4 | 4 | 我生成了两个大小为 1000 * 1000 的矩阵
|
5 | 5 | 第一个矩阵:O和#
|
6 | 6 | 第二个矩阵:O和B
|
7 | | -使用一下代码,第一个矩阵仅用时8.25s就完成了: |
| 7 | +使用以下代码,第一个矩阵仅用时8.25s就完成了: |
8 | 8 | ```java
|
9 | 9 | Random r = new Random();
|
10 | 10 | for (int i = 0; i < 1000; i++) {
|
@@ -45,9 +45,7 @@ for (int i = 0; i < 1000; i++) {
|
45 | 45 |
|
46 | 46 |
|
47 | 47 | ###回答
|
48 | | -纯推测:你正在使用的终端试图进行["自动换行"(word-wrapping)](http://en.wikipedia.org/wiki/Word_wrap),而不是"字符换行"(character-wrapping),并且将'B'视为一个单词字符(word character), |
49 | | -而'#'视为一个非单词字符(non-word character)。因此当输出到达行尾时,控制台会搜索一个空白符来换行,当遇到'#'时可以立即执行换行; |
50 | | -然而遇到'B'时,控制台必须继续搜索,因为后面可能有更多的字符需要换行(这个操作在一些控制台上可能花销很大,例如,输出退格,然后输出空白字符来覆盖那些需要被换行的字符)。 |
| 48 | +纯推测:你正在使用的终端试图进行["自动换行"(word-wrapping)](http://en.wikipedia.org/wiki/Word_wrap),而不是"字符换行"(character-wrapping),并且将'B'视为一个单词字符(word character),而'#'视为一个非单词字符(non-wordcharacter)。因此当输出到达行尾时,控制台会搜索一个空白符来换行,当遇到'#'时可以立即执行换行;然而遇到'B'时,控制台必须继续搜索,因为后面可能有更多的字符需要换行(这个操作在一些控制台上可能花销很大,例如,输出退格,然后输出空白字符来覆盖那些需要被换行的字符)。 |
51 | 49 | 但是,这仅仅是理论推测。
|
52 | 50 |
|
53 | 51 |
|
|
0 commit comments