回答編集履歴
3
.
test
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
最小値最大値が2回ずつ含まれている場合、最後のループ内で `minFlag` `maxFlag` を `0` から `1`に変更した際に続けて `minFlag == 1` `maxFlag == 1` の条件にひっかかってしまいます。ループ中の3個目の `if` を `else if` にするとうまくいきそうです。
|
2
2
|
こういう問題はデバッガでステップ実行すればすぐに気付くので、デバッガの使い方を覚えましょう。
|
3
|
+
|
4
|
+
しかし、このアプローチだと全項目が同じ値だと間違った結果になりますね。
|
3
5
|
|
4
6
|
無条件にすべて足して後から最小値と最大値を引くと、よりシンプルなコードになるでしょう。
|
5
7
|
|
2
.
test
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
最小値最大値が2回ずつ含まれている場合、最後のループ内で `minFlag` `maxFlag` を `0` から `1`に変更した際に続けて `minFlag == 1` `maxFlag == 1` の条件にひっかかってしまいます。ループ中の3個目の `if` を `else if` にするとうまくいきそうです。
|
2
|
+
こういう問題はデバッガでステップ実行すればすぐに気付くので、デバッガの使い方を覚えましょう。
|
2
3
|
|
3
4
|
無条件にすべて足して後から最小値と最大値を引くと、よりシンプルなコードになるでしょう。
|
4
5
|
|
1
.
test
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
最小値最大値が2回ずつ含まれている場合、最後のループ内で `minFlag` `maxFlag` を `0` から `1`に変更した際に続けて `minFlag == 1` `maxFlag == 1` の条件にひっかかってしまいます。ループ中の3個目の `if` を `else if` にすると
|
1
|
+
最小値最大値が2回ずつ含まれている場合、最後のループ内で `minFlag` `maxFlag` を `0` から `1`に変更した際に続けて `minFlag == 1` `maxFlag == 1` の条件にひっかかってしまいます。ループ中の3個目の `if` を `else if` にするとうまくいきそうです。
|
2
2
|
|
3
|
-
|
3
|
+
無条件にすべて足して後から最小値と最大値を引くと、よりシンプルなコードになるでしょう。
|
4
4
|
|
5
|
+
|