答えを探しましたが、私の質問に 100% 答えられるものは見つかりませんでした。:D
したがって、ハッシュマップから他の 3 つの新しい hasmaps を作成し、その値の 2 つを 3 つの異なる方法で交換する必要があります (私は使用map2.putAll(map1)
し、後で 2 つの値を切り替えます)。それらの1つを選択して、プロセスを繰り返します。
特別な条件が満たされていないため、これを何度も行わなければならないため、問題が始まります...そして、私が行うマップの数を減らす方法はありません(まあ、複製されたものをブロックするかもしれませんが、非常に高価だと思います:/)。
実際、すべてのマップを何らかの方法で保存するかどうか (私が読んだことから、それは GC の障害であることがわかりました)、または他のトリックを実行する必要があるかどうかはあまり気にしません... (可能であれば) 「-XX:-UseGCOverheadLimit」のようなものを使用します。これは一種の宿題であり (マークがなくても)、プロンプトから「Java クラス名」で動作する必要があるためです。
唯一の制限は時間通りです (これは問題ではなく、100% 確実であり、既にテストされています)、単純な入力 (既に良好です) だけでテストされますが、できるようにしたいと思います。難しいこともする。
アドバイスよろしくお願いします。
ああ、マップはこのようなもので、<Integer,Integer>
サイズは16
です。残念ながら、宿題がまだ終わっていないので、ここにコードを投稿することはできません (私のものを提出したとしても)。