長さ3のビットの順列の出力が必要です(0と1の初期の組み合わせがランダムに生成されるので順序は関係ありません):JAVAの0と1ビットのすべての可能な順列を得る方法
[0,0,0]
[0,0,1]
[0,1,0]
[0,1,1]
[ 1,0 、0]
[1,0,1]
[1,1,0]
[1,1,1]
私が行っているが、それはそれあるようです重複している可能性のある並べ替えが表示されていません。
'
ArrayList<Item> itemsAvailable = new ArrayList<Item>();
ArrayList<Integer>bits = new ArrayList<Integer>();
ArrayList<ArrayList<Integer>> tried = new ArrayList<ArrayList<Integer>>();
itemsAvailable.add(new Item(5,4));
itemsAvailable.add(new Item(12,10));
itemsAvailable.add(new Item(8,5));
System.out.println("itemsAvailable: " + itemsAvailable);
Random r = new Random();
//permutations
for(int i = 0; i < Math.pow(2,itemsAvailable.size()); i++){
//Generate random bits
for(int j = 0; j < itemsAvailable.size(); j++){
int x = 0;
if (r.nextBoolean())
x = 1;
bits.add(x);
}
System.out.println("Added to bits #" + (i+1) + ": " + bits);
bits = new ArrayList<Integer>();
}
' 私は得られる出力である:これは私のコードである
、ビット#1に追加:[0、0、1]
ビット#2に追加されました:[1、1、0] - 複製
ビット#3に追加されました:[1、0、1]
0ビット#6に追加dupicate- [0,0,0]:[1、1、[0、0、1]
はビット#5に追加:ビット#4に追加
したがって、私は8を得ることができる方法
をdupicate - [0,0,0]:#8 [1、1、1]
追加されたビットに: - 0]
が#7ビットに追加dupicateビットがランダムに生成されるときの異なる順列はありますか?助けてください。
ありがとうございます。
実際に私は質問を誤解しました。順列はありません。タイトルを言い換えてください。 – Dici