首页 > 代码库 > 集合的子集
集合的子集
题目描述
请编写一个方法,返回某集合的所有非空子集。
给定一个int数组A和数组的大小int n,请返回A的所有非空子集。保证A的元素个数小于等于20,且元素互异。各子集内部从大到小排序,子集之间字典逆序排序,见样例。
测试样例:
class Permutation { public: vector<string> getPermutation(string A) { vector<string> res; if(A.size() == 0) return res; int cur = 0; permutation(A,res,cur); sort(res.begin(),res.end(),greater<string>()); return res; } void permutation(string A,vector<string> &res,int cur){ int len = A.size(); if(cur == len - 1){ res.push_back(A); return; } for(int i = cur;i < len;i++){ swap(A[i],A[cur]); permutation(A,res,cur+1); swap(A[i],A[cur]); } } };
集合的子集
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。