【LeetCode】 401. Binary Watch
来源:互联网 发布:oracle数据库查询语句 编辑:程序博客网 时间:2024/05/18 08:24
A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom represent the minutes (0-59).
Each LED represents a zero or one, with the least significant bit on the right.
For example, the above binary watch reads "3:25".
Given a non-negative integer n which represents the number of LEDs that are currently on, return all possible times the watch could represent.
Example:
Input: n = 1
Return: ["1:00", "2:00", "4:00", "8:00", "0:01", "0:02", "0:04", "0:08", "0:16", "0:32"]
Note:
- The order of output does not matter.
- The hour must not contain a leading zero, for example "01:00" is not valid, it should be "1:00".
- The minute must be consist of two digits and may contain a leading zero, for example "10:2" is not valid, it should be "10:02".
public class Solution { public List<String> readBinaryWatch(int num) { List<String> res = new LinkedList<String>(); for (int i = 0; i < 12; i++) { for (int j = 0; j < 60; j++) { if (Integer.bitCount(i * 64 + j) == num) { res.add(String.format("%d:%02d", i, j)); } } } return res; }}
public class Solution { private static String[][] hour = {{"0"}, {"1", "2", "4", "8"}, {"3", "5", "6", "9" ,"10"}, {"7", "11"}}; private static String[][] minute = {{"00"}, {"01", "02", "04", "08", "16", "32"}, {"03", "05", "06", "09", "10", "12", "17", "18", "20", "24", "33", "34", "36", "40", "48"}, {"07", "11", "13", "14", "19", "21", "22", "25", "26", "28", "35", "37", "38", "41", "42", "44", "49", "50", "52", "56"}, {"15", "23", "27", "29", "30", "39", "43", "45", "46", "51", "53", "54", "57", "58"}, {"31", "47", "55", "59"}}; public List<String> readBinaryWatch(int num) { List<String> res = new LinkedList<String>(); int upper = Math.min(num, 3); for (int i = 0; i <= upper; i++) { if (num - i <= 5) { for (String h : hour[i]) { int temp = num - i; for (String m : minute[temp]) { StringBuilder sb = new StringBuilder(); sb.append(h).append(":").append(m); res.add(sb.toString()); } } } } return res; }}
0 0
- 【Leetcode】401. Binary Watch
- [LeetCode]401. Binary Watch
- LeetCode 401. Binary Watch
- [leetcode]401. Binary Watch
- Leetcode 401. Binary Watch
- LeetCode 401. Binary Watch
- LeetCode 401. Binary Watch
- LeetCode 401. Binary Watch
- leetcode 401. Binary Watch
- 【LeetCode】 401. Binary Watch
- [LeetCode]401. Binary Watch
- 401. [LeetCode]Binary Watch
- Leetcode 401. Binary Watch
- Leetcode: 401. Binary Watch
- LeetCode 401. Binary Watch
- 【Leetcode】401. Binary Watch
- Leetcode-401. Binary Watch
- leetCode 401. Binary Watch
- URL中的#号
- linux下使用netstat和管道来获取服务端建立的ip连接数
- Leetcode Binary Tree Zigzag Level Order Traversal
- POJ-2325解题报告
- Leetcode Implement Queue using Stacks
- 【LeetCode】 401. Binary Watch
- ARM汇编学习的总结
- ARM汇编必知必会
- ubuntu下解压缩文件
- 【LeetCode】 404. Sum of Left Leaves
- 得到jz2440的uboot文件,并生成烧写文件
- 解决UIScrollView无法滚动问题
- u-boot-1.1.6分析之makefile(待续)
- enabled、scrollEnabled和userInteractionEnabled的区别