1: class Solution {
2: public:
3: vector<string> readBinaryWatch(int num) {
4: vector<string> res;
5: for (int h = 0; h < 12; h++) {
6: for (int m = 0; m < 60; m++) {
7: if (countBits((h << 6) | m) == num) {
8: res.push_back(to_string(h) + (m < 10 ? ":0" : ":") + to_string(m));
9: }
10: }
11: }
12: return res;
13: }
14: int countBits(int n) {
15: int count = 0;
16: while (n) {
17: n &= n-1;
18: count++;
19: }
20: return count;
21: }
22: };
Friday, October 7, 2016
401. Binary Watch
The idea behind is to enumerate all possible combinations and count the bit of 1. If the bits number matches the input, then output the time.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment