2011-01-07 2 views
0

Возможный дубликат:
How to find all possible subsets of a given array?подмножество с Java

Я должен найти все возможные подмножества данного array.Do вы знаете, любой алгоритм для этого?

+1

Можете ли вы дать небольшой пример, чтобы пояснить, что именно вы ожидаете для определенного входного массива? – Kosi2801

+0

@duffymo Проблема в упомянутой ссылке немного отличается от этой, я не думаю, что это точно такие же проблемы. – Kosi2801

+0

@duffymo, просто потраченный впустую 5min:/ –

ответ

2

Это длинный снимок, но если вам нужна функция для создания {}, {1}, {2}, {3}, {1,2}, {2,3}, {1,3} , {1,2,3} из {1,2,3}. вы можете генерировать двоичные числа от 0 до 2^count (array) -1 и выбирать элементы массива, которые соответствуют двоичным цифрам в сгенерированных числах.

000 -> {} 
100 -> {1} 
010 -> {2} 
110 -> {1,2} 
001 -> {3} 
101 -> {1,3} 
011 -> {2,3} 
111 -> {1,2,3} 

// левосторонняя двоичная система аки ленивая двоичная система