avatar
A*u
2
career cup 上的题目
Write a method that returns all subsets of a set.
想请教一下,递归的怎么写呢
这是career cup的java写法,我不懂java,完全看不懂, 请大家给个算法思路
ArrayList> getSubsets(ArrayList set,
2 int index) {
3 ArrayList> allsubsets;
4 if (set.size() == index) {
5 allsubsets = new ArrayList>();
6 allsubsets.add(new ArrayList()); // Empty set
7 } else {
8 allsubsets = getSubsets(set, index + 1);
9 int item = set.get(index);
10 ArrayList> moresubsets =
11 new ArrayList>();
12 for (ArrayList subset : allsubsets) {
13 ArrayList newsubset = new ArrayList();
14 newsubset.addAll(subset); //
15 newsubset.add(item);
16 moresubsets.add(newsubset);
17 }
18 allsubsets.addAll(moresubsets);
19 }
20 return allsubsets;
21 }
avatar
T*s
3
非teaching school也很少给办eb1b呢
avatar
C*U
4
递归的话,我有一个想法。
假设你要加入第i+1个元素,你先找到前i个元素组成的子集(用到递归),然后再把i+1
加入到这些子集里面。就得到前i+1个元素组成的元素。

【在 A**u 的大作中提到】
: career cup 上的题目
: Write a method that returns all subsets of a set.
: 想请教一下,递归的怎么写呢
: 这是career cup的java写法,我不懂java,完全看不懂, 请大家给个算法思路
: ArrayList> getSubsets(ArrayList set,
: 2 int index) {
: 3 ArrayList> allsubsets;
: 4 if (set.size() == index) {
: 5 allsubsets = new ArrayList>();
: 6 allsubsets.add(new ArrayList()); // Empty set

avatar
d*k
5
怎么定义给办?
是给签字
还是给付钱
我们是给签字不给付钱
avatar
A*u
6
多谢
我再试试

1

【在 C***U 的大作中提到】
: 递归的话,我有一个想法。
: 假设你要加入第i+1个元素,你先找到前i个元素组成的子集(用到递归),然后再把i+1
: 加入到这些子集里面。就得到前i+1个元素组成的元素。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。