研究開発者・ellerのTopCoder挑戦記録。言語は主にJavaを使用しています。ドキュメンテーションコメントはSubmit完了後、ブログ掲載前に補完したものです。22:00C++ライブラリであるSTLに実装されているnext_permutationをJavaのIterable<int[]>に置き換えて実装したもの。以下のようなコードで簡単に利用することができます。*/アルゴリズムはSRM433のTopSubmissionや、Googleによる検索結果を参考(ほぼ流用)にさせていただきました。先駆者の方々に感謝致します。<p>順列を表すクラス。反復子によって順列を表すint型配列を生成・取得する。若干まぎらわしいがPermutationListなどの命名がベターか。<p>順列を表すクラスのコンストラクタ。反復子が返す配列の要素数を指定する。<p>反復子がまだ順列を返しうるか調べる。Iter#next()}呼び出し前に必ず1回ずつ実行する必要がある。<p>次の順列を表すint型配列を返す。<p>このメソッドが返す参照は常に同じ配列に対する参照である。クラスの呼び出し側が配列のクローンを生成して利用する必要がある。