2

それぞれ から 1 から 9 までの値を持つことができる 9 つの変数を考えてみましょう。各変数に個別の値があるかどうかを確認するための適切で迅速な方法は何ですか。私の頭に浮かんだ最初の考えは、それらを合計して等しいかどうかを確認することn(n+1)/2でしたが、これはどこにも簡単ではありません. 何か案は?

編集:どうもありがとう。セットのことをすっかり忘れていました。私はなんて初心者です。

4

4 に答える 4

6

それらをすべて Set に追加し、Set のサイズが 9 であることを確認します。

たとえば、9 個の配列intがすべて異なるかどうかを確認するには、次のようにします。

int[] array = new int[9];
// fill array
Set<Integer> set = new HashSet<Integer>();
for (int i : array)
    set.add(i);
boolean allDistinct = set.size() == 9;

セットは個別の値の追加のみを許可するため、セットがすべての作業を行います。いずれかの値が同じ場合、サイズは 9 未満になります。

この手法は、値の種類のクラス、値の範囲、量に関係なく機能します。

于 2013-04-05T14:30:08.133 に答える