本题源自leetcode 401
-----------------------------------------------------------------------
思路: 用一个bitset bitset<10>将一个数用10位二进制表示。
代码:
vector<string> readBinaryWatch(int num) {
vector<string> res;
for(int h = 0; h < 12; h++){
for(int m = 0; m < 60; m++){
if(bitset<10>(h << 6 | m).count() == num){
string str = to_string(h) + ":";
str += m >= 10 ? to_string(m) : ("0"+to_string(m));
res.push_back(str);
}
}
}
return res;
}