//一共有2^n-1种可能 利用0 1标识该位是否取 若为1则取 反正丢弃
void getAllSubSet(int* arr, int len, vector<vector<int> >& v) {
if (arr && len) {
for (int i = 0; i < 1 << (len); i++) {
vector<int>temp_vec;
for (int j = 0; j < len; j++) {
if ((1 << j)&i) {
temp_vec.push_back(arr[j]);
}
}
v.push_back(temp_vec);
}
}
}
利用位运算实现求集合的子集---C++实现
最新推荐文章于 2023-07-25 10:48:17 发布