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.
Labels:
bit manipulation,
google,
leetcode
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment