質問するログイン新規登録

回答編集履歴

3

セル値の修正

2017/09/15 13:12

投稿

think49
think49

スコア18194

answer CHANGED
@@ -100,4 +100,24 @@
100
100
  benchmark(think49, createArray.bind(null, 20000), 10);
101
101
  benchmark(think49, createArray.bind(null, 0, 0, 20000), 10);
102
102
 
103
+ benchmark(suyama, createArray.bind(null, 100, 20000, 100), 10);
103
- benchmark(suyama, createArray.b
104
+ benchmark(suyama, createArray.bind(null, 20000), 10);
105
+ benchmark(suyama, createArray.bind(null, 0, 0, 20000), 10);
106
+ ```
107
+
108
+ 結果は次の通りです。
109
+
110
+ |引数に指定した配列コード|コード|実行時間|
111
+ |:--|:--|:--|
112
+ |非重複要素100個 + 重複要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
113
+ |非重複要素100個 + 重複要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
114
+ |非重複要素20000個|think49|81.341064453125ms|
115
+ |非重複要素20000個|suyama|7361.458984375ms|
116
+ |NaN値の要素20000個|think49|41.86279296875ms|
117
+ |NaN値の要素20000個|suyama|7258.05810546875ms|
118
+
119
+ 最後の「NaN値の要素20000個」は意地悪問題でした。
120
+ NaN値は重複していますが、前述の通り、indexOf, lastIndexOf は NaN 値を検出できない為、配列全体を検索する過程を 2 * 20000 回行います。
121
+ (正確には一つ重複要素がある為、20001 個の要素を持つ配列を検索しているのと等価です。)
122
+
123
+ Re: agepan さん

2

セル値の修正

2017/09/15 13:12

投稿

think49
think49

スコア18194

answer CHANGED
@@ -100,24 +100,4 @@
100
100
  benchmark(think49, createArray.bind(null, 20000), 10);
101
101
  benchmark(think49, createArray.bind(null, 0, 0, 20000), 10);
102
102
 
103
- benchmark(suyama, createArray.bind(null, 100, 20000, 100), 10);
104
- benchmark(suyama, createArray.bind(null, 20000), 10);
103
+ benchmark(suyama, createArray.b
105
- benchmark(suyama, createArray.bind(null, 0, 0, 20000), 10);
106
- ```
107
-
108
- 結果は次の通りです。
109
-
110
- |引数に指定した配列コード|コード|実行時間|
111
- |:--|:--|:--|
112
- |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
113
- |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
114
- |重複がない要素20000個|think49|81.341064453125ms|
115
- |重複がない要素20000個|suyama|7361.458984375ms|
116
- |NaN値の要素20000個|think49|41.86279296875ms|
117
- |NaN値の要素20000個|suyama|7258.05810546875ms|
118
-
119
- 最後の「NaN値の要素20000個」は意地悪問題でした。
120
- NaN値は重複していますが、前述の通り、indexOf, lastIndexOf は NaN 値を検出できない為、配列全体を検索する過程を 2 * 20000 回行います。
121
- (正確には一つ重複要素がある為、20001 個の要素を持つ配列を検索しているのと等価です。)
122
-
123
- Re: agepan さん

1

markdown修正

2017/09/15 13:12

投稿

think49
think49

スコア18194

answer CHANGED
@@ -109,8 +109,8 @@
109
109
 
110
110
  |引数に指定した配列コード|コード|実行時間|
111
111
  |:--|:--|:--|
112
- |重複がない要素100個 + 2回の重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
112
+ |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
113
- |重複がない要素100個 + 2回の重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
113
+ |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
114
114
  |重複がない要素20000個|think49|81.341064453125ms|
115
115
  |重複がない要素20000個|suyama|7361.458984375ms|
116
116
  |NaN値の要素20000個|think49|41.86279296875ms|