用JAVA求解幂集问题蛮力法
时间: 2023-10-23 13:09:57 浏览: 113
集合运算_集合运算问题_
5星 · 资源好评率100%
可以使用蛮力法求解幂集问题,以下是使用Java代码的实现:
```java
import java.util.ArrayList;
import java.util.List;
public class PowerSet {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
List<List<Integer>> result = powerSet(arr);
System.out.println(result);
}
public static List<List<Integer>> powerSet(int[] arr) {
List<List<Integer>> result = new ArrayList<>();
int n = arr.length;
for (int i = 0; i < (1 << n); i++) {
List<Integer> subset = new ArrayList<>();
for (int j = 0; j < n; j++) {
if ((i & (1 << j)) != 0) {
subset.add(arr[j]);
}
}
result.add(subset);
}
return result;
}
}
```
以上代码中,`powerSet`方法使用了双重循环,第一重循环使用位运算的方式生成所有的子集,第二重循环用于将每个子集中对应位置上的元素添加到子集中。最终,将所有子集添加到`result`列表中返回。
阅读全文