//一共有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);
}
}
}