永发信息网

列举一个n元集合的所有子集的思路要求用java实现列举一个n元集合的所有子集,一点头绪也没有,小妹拜

答案:2  悬赏:10  手机版
解决时间 2021-02-03 02:41
  • 提问者网友:临风不自傲
  • 2021-02-02 07:57
列举一个n元集合的所有子集的思路要求用java实现列举一个n元集合的所有子集,一点头绪也没有,小妹拜
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-02-02 09:31
你试试能不能用~import java.util.BitSet; import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class FindSubset { private BitSet start; private BitSet end; private Set subsets; public FindSubset() { this.start = new BitSet(); this.end = new BitSet(); this.subsets = new HashSet(); } public void execute(int n, Set items) { int size = items.size(); for (int i = 0; i start.set(i, true); } for (int i = n; i start.set(i, false); } for (int i = size - 1; i > size - n; i--) { end.set(i, true); } for (int i = 0; i end.set(i, false); } find(items); while (start != end) { boolean endBit = start.get(size - 1); int last10 = -1; int i; for (i = size - 1; i > 0; i--) { boolean former = start.get(i - 1); boolean last = start.get(i); if (former == true && last == false) { last10 = i - 1; break; } } if (i == 0) { break; } else { if (endBit == false) { start.set(last10, false); start.set(last10 + 1, true); find(items); } else {
全部回答
  • 1楼网友:一袍清酒付
  • 2021-02-02 10:04
你的回答很对
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯