auto-generated entry for Binary Watch. the solution files are available below.
solution files
- C++
binary-watch/synced-solution.cpp - Python
binary-watch/synced-solution.py - TypeScript
binary-watch/synced-solution.ts
Collected C++, Python, TypeScript solutions for binary watch. Add a dedicated write-up later if you want deeper notes.
auto-generated entry for Binary Watch. the solution files are available below.
binary-watch/synced-solution.cppbinary-watch/synced-solution.pybinary-watch/synced-solution.tsdef readBinaryWatch(num):
result = []
for h in range(class="syntax-number">12):
for m in range(class="syntax-number">60):
if bin(h).count(class="syntax-string">'class="syntax-number">1') + bin(m).count(class="syntax-string">'class="syntax-number">1') == num:
result.append(fclass="syntax-string">"{h}:{m:02d}")
return result
class Solution {
public:
vector<string> readBinaryWatch(int num) {
vector<string> result;
for (int h = class="syntax-number">0; h < class="syntax-number">12; h++) {
for (int m = class="syntax-number">0; m < class="syntax-number">60; m++) {
if (__builtin_popcount(h) + __builtin_popcount(m) == num) {
char time[class="syntax-number">6];
sprintf(time, class="syntax-string">"%d:%02d", h, m);
result.push_back(string(time));
}
}
}
return result;
}
};
function readBinaryWatch(num: number): string[] {
const result: string[] = [];
for (let h = class="syntax-number">0; h < class="syntax-number">12; h++) {
for (let m = class="syntax-number">0; m < class="syntax-number">60; m++) {
const bitCount = (h.toString(class="syntax-number">2).match(/class="syntax-number">1/g) || []).length +
(m.toString(class="syntax-number">2).match(/class="syntax-number">1/g) || []).length;
if (bitCount === num) {
result.push(`${h}:${String(m).padStart(class="syntax-number">2, class="syntax-string">'class="syntax-number">0')}`);
}
}
}
return result;
}