2016-11-19 10 views
-1

私は2 arraylistを比較しようとするといくつかの助けが必要です。もし私が正しい道にいても。だからここに私の問題です。ArrayListソート方法に基づいて

と言うと、3の整数は4になり、各整数は少なくとも次の値以上でなければなりません。

だから例えば、arraylist 1はまた、各オブジェクトの整数は最大から最小に並べ替えられてい{(2,1,1), (2,2,0), (3,1,0), (4,0,0)}.

が含まれています。

今私は(2,1,1)を持って、そのアルゴリズムを実行する方法に送信します。各整数の場所で、私はその整数の場所に2を加え、残りの部分から1を引く必要があります。これらのAイベント、Bイベント、またはCイベントと呼ぶことができます。イベントが発生するので例えば

(2,1,1)これらのイベントは今

A Event: (4,0,0) 

B Event: (3,1,0) 

C Event: (3,1,0) 

だろう、私の質問は(4,0,0)私はその数は次の来ていた後、(3,1,0)が、(3,1,0)なしを持っている最初のarraylistを並べ替えるだろうか複製する。だから、配列をソートした後、それは現時点では

(2,1,1) (4,0,0) (3,1,0) (2,2,0) 
+0

私はarraylistにイベントを入れ、最初のarraylistと答えarraylistを比較していると思っていましたが、わかりません。 – user3574842

+0

'Bイベント:(3,1,0)'と 'Cイベント(3,1,0)'はどうやって取得できますか?私は 'A Event:(4,0,0)'を理解していますが、それ以降は失われました。 – davedwards

+0

1番目の位置から1を減算し、3番目の位置から1を引いて2番目の位置に2を加えると、Bイベントが発生します。 Cイベントは、1位と2位から1を引いて3位に2を加えたときに発生します。 – user3574842

答えて

0

する必要がありますあなたの質問は、私には明らかではないが、私は正しい方向にポイントにあなたを助けることができると思います。

あなたが言ったので:

は、私はあなたがその実装クラスを使用することを検討すべきであることがCollection内のオブジェクトの一意性を保証するためにお勧めしたいの複製(3,1,0)なし

Setインターフェイス(詳細については、Javadoc for Setを参照してください)。

あなたがSortedSetを使用して、あなたのオブジェクトは、あなたが望む方法でソートされるように、必要な機能(ComparableインタフェースまたはComparator)を実装することができソートアルゴリズムを自分で書いていないと仮定すると、(以前のリンクがどのように記述するリンクを提供しますこれをする)。

これがうまくいくと思いますが、質問をより明確にすることができれば、私はいくつかの追加のポインタを提供してくれることを嬉しく思います。ここで

あなたは上で動作する可能性が紛らわしい部分のいくつかされています

各整数は、少なくとも大きいまたは次の数に等しい/大きくなければなりません。

これは、2つの矛盾する要件があるため混乱します。各数字は厳密に次の数字よりも大きいか、それとも次の数値よりも大きいか等しいか?

また、各オブジェクトの整数は最大から最小にソートされます。

オブジェクトに含まれる整数が特定の順序であるとすでに言いましたので、あなたはこれが何を意味するのかよく分かりません。あなたは本当にソートがどのように動作するかを私たちに言っていない

私は最初のArrayListを並べ替えるだろうか生成イベント(4,0,0)はその数は次の来ているので、

。アルゴリズムの詳細を記述できますか?アイテムの順序を決定する方法、アイテムを別のアイテムと比較する方法は?

+0

申し訳ありませんが、私は質問するときにもっと正確になっていたはずです。だから私はオブジェクトを作成するためにコンストラクタを使いました。ですから、ある意味では、 – user3574842

+0

申し訳ありませんが、私は質問するときにもっと正確にすべきでした。だから私はオブジェクトを作成するためにコンストラクタを使いました。したがって、ある意味では、 {(2,1,1)、(2,2,0)、(3,1,0)、(4,0,0)}は状態であり、各状態内ではソートされます私はコンストラクタで定義します。それは私が各整数で意味することは、より大きいかより大きいか等しい必要があります。 n = 4の場合、forループを0から4まで3回実行して4までの整数を見つけました.0,0,4が可能ならば、forループでは4でなければなりません、0,0。それは私がそれを意味するものです。 – user3574842

関連する問題