LeetCode-78 子集
思路:两种方法
1.使用位运算,
2.使用回溯法。
1、使用位运算
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
//使用位运算的技巧
vector<vector<int>> result;
int len=nums.size();
int fanwei=pow(2,len);
for(int i=0;i<fanwei;++i)
{
vector<int> temp;
for(int j=0;j<len;++j)
{
int a=1<<j;
if(a&i)
{
temp.push_back(nums[j]);
}
}
result.push_back(temp);
}
return result;
//直接使用回溯法进行遍历
}
};
2.使用回溯法
再补充