Binary Watch - Problem
A binary watch has 4 LEDs on the top to represent the hours (0-11), and 6 LEDs on the bottom to represent the minutes (0-59). Each LED represents a zero or one, with the least significant bit on the right.
Given an integer turnedOn which represents the number of LEDs that are currently on, return all possible times the watch could represent. You may return the answer in any order.
Formatting rules:
- The hour must not contain a leading zero. For example,
"01:00"is not valid. It should be"1:00". - The minute must consist of two digits and may contain a leading zero. For example,
"10:2"is not valid. It should be"10:02".
Input & Output
Example 1 — Single LED
$
Input:
turnedOn = 1
›
Output:
["0:01","0:02","0:04","0:08","0:16","0:32","1:00","2:00","4:00","8:00"]
💡 Note:
With 1 LED on, we can have either 1 bit set in hours (1,2,4,8) with 0 minutes, or 0 bits in hours with 1 bit set in minutes (1,2,4,8,16,32).
Example 2 — No LEDs
$
Input:
turnedOn = 9
›
Output:
[]
💡 Note:
With 9 LEDs on, no valid time exists since maximum LEDs for valid time is 8 (hour 11 = 3 bits + minute 59 = 5 bits = 8 total).
Example 3 — All LEDs Off
$
Input:
turnedOn = 0
›
Output:
["0:00"]
💡 Note:
With 0 LEDs on, only "0:00" is possible (0 hours, 0 minutes, both have 0 bits set).
Constraints
- 0 ≤ turnedOn ≤ 10
Visualization
Tap to expand
💡
Explanation
AI Ready
💡 Suggestion
Tab
to accept
Esc
to dismiss
// Output will appear here after running code