回答編集履歴

3

セル値の修正

2017/09/15 13:12

投稿

think49
think49

スコア18156

test CHANGED
@@ -202,4 +202,44 @@
202
202
 
203
203
 
204
204
 
205
+ benchmark(suyama, createArray.bind(null, 100, 20000, 100), 10);
206
+
205
- benchmark(suyama, createArray.b
207
+ benchmark(suyama, createArray.bind(null, 20000), 10);
208
+
209
+ benchmark(suyama, createArray.bind(null, 0, 0, 20000), 10);
210
+
211
+ ```
212
+
213
+
214
+
215
+ 結果は次の通りです。
216
+
217
+
218
+
219
+ |引数に指定した配列コード|コード|実行時間|
220
+
221
+ |:--|:--|:--|
222
+
223
+ |非重複要素100個 + 重複要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
224
+
225
+ |非重複要素100個 + 重複要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
226
+
227
+ |非重複要素20000個|think49|81.341064453125ms|
228
+
229
+ |非重複要素20000個|suyama|7361.458984375ms|
230
+
231
+ |NaN値の要素20000個|think49|41.86279296875ms|
232
+
233
+ |NaN値の要素20000個|suyama|7258.05810546875ms|
234
+
235
+
236
+
237
+ 最後の「NaN値の要素20000個」は意地悪問題でした。
238
+
239
+ NaN値は重複していますが、前述の通り、indexOf, lastIndexOf は NaN 値を検出できない為、配列全体を検索する過程を 2 * 20000 回行います。
240
+
241
+ (正確には一つ重複要素がある為、20001 個の要素を持つ配列を検索しているのと等価です。)
242
+
243
+
244
+
245
+ Re: agepan さん

2

セル値の修正

2017/09/15 13:12

投稿

think49
think49

スコア18156

test CHANGED
@@ -202,44 +202,4 @@
202
202
 
203
203
 
204
204
 
205
- benchmark(suyama, createArray.bind(null, 100, 20000, 100), 10);
206
-
207
- benchmark(suyama, createArray.bind(null, 20000), 10);
205
+ benchmark(suyama, createArray.b
208
-
209
- benchmark(suyama, createArray.bind(null, 0, 0, 20000), 10);
210
-
211
- ```
212
-
213
-
214
-
215
- 結果は次の通りです。
216
-
217
-
218
-
219
- |引数に指定した配列コード|コード|実行時間|
220
-
221
- |:--|:--|:--|
222
-
223
- |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
224
-
225
- |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
226
-
227
- |重複がない要素20000個|think49|81.341064453125ms|
228
-
229
- |重複がない要素20000個|suyama|7361.458984375ms|
230
-
231
- |NaN値の要素20000個|think49|41.86279296875ms|
232
-
233
- |NaN値の要素20000個|suyama|7258.05810546875ms|
234
-
235
-
236
-
237
- 最後の「NaN値の要素20000個」は意地悪問題でした。
238
-
239
- NaN値は重複していますが、前述の通り、indexOf, lastIndexOf は NaN 値を検出できない為、配列全体を検索する過程を 2 * 20000 回行います。
240
-
241
- (正確には一つ重複要素がある為、20001 個の要素を持つ配列を検索しているのと等価です。)
242
-
243
-
244
-
245
- Re: agepan さん

1

markdown修正

2017/09/15 13:12

投稿

think49
think49

スコア18156

test CHANGED
@@ -220,9 +220,9 @@
220
220
 
221
221
  |:--|:--|:--|
222
222
 
223
- |重複がない要素100個 + 2回の重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
223
+ |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|think49|228.81396484375ms|
224
-
224
+
225
- |重複がない要素100個 + 2回の重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
225
+ |重複がない要素100個 + 重複がある要素20000個 + NaN値の要素10個|suyama|19696.505859375ms|
226
226
 
227
227
  |重複がない要素20000個|think49|81.341064453125ms|
228
228