gpt4 book ai didi

java - 给定一个整数数组(长度为 n),使用 Java 中的递归查找并返回输入数组的所有子集

转载 作者:行者123 更新时间:2023-12-02 01:03:25 25 4
gpt4 key购买 nike

假设我的输入数组是[15,20,12]所需答案是一个二维数组
所需输出如下
[12
20
20 12
15
15 12
15 20
15 20 12
]

最佳答案

不清楚这是家庭作业还是实际案例。这就是我如何使用 Guava PowerSet 解决它:

public static void main(String[] args) {
Integer input[] = {15,20,12};
List<Integer> rev = Lists.reverse(Arrays.asList(input));
Set<Integer> indices = IntStream.range(0, input.length).boxed().collect(ImmutableSet.toImmutableSet());
Object output[] = Sets.powerSet(indices).stream()
.filter(indexset -> !indexset.isEmpty())
.map(indexset -> indexset.stream().map(i -> rev.get(i)).collect(Collectors.collectingAndThen(toList(), Lists::reverse)))
.map(List::toArray)
.toArray();
System.out.println(Arrays.deepToString(output));
}

关于java - 给定一个整数数组(长度为 n),使用 Java 中的递归查找并返回输入数组的所有子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60362843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com