(LeetCode)Binary Watch --- 二进制手表
来源:互联网 发布:最近人口普查数据 编辑:程序博客网 时间:2024/04/30 13:00
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".
Subscribe to see which companies asked this question
解题分析:
题意大概是一个二进制手表的表盘一共有两行指示灯,第一行表示(0 -- 11)小时的信息,第二行表示(0 -- 59)分钟的信息。
输入数字,表示亮灯的数量,然后可以计算二进制中1的个数,转换位置,来计算所有可能性。
解法一:位运算
ans = [] for x in range(1024): if bin(x).count('1') == num: h, m = x >> 6, x & 0x3F if h < 12 and m < 60: ans.append('%d:%02d' % (h, m)) return ans
解法二:遍历所有:
ans = [] for h in range(12): for m in range(60): if (bin(h) + bin(m)).count('1') == num: ans.append('%d:%02d'%(h,m)) return ans
0 0
- (LeetCode)Binary Watch --- 二进制手表
- [LeetCode]401. Binary Watch(二进制手表)
- leetcode 401. Binary Watch二进制手表
- 401. Binary Watch | 二进制手表
- 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
- LeetCode 401. Binary Watch
- LeetCode 401. Binary Watch
- LeetCode 401. Binary Watch
- 冒泡排序-java实现
- ECMAScript6笔记:Class
- Java.lang.reflect.InvocationTargetException
- 过狗脚本
- $(document).ready()和原生js下的window.onload的区别
- (LeetCode)Binary Watch --- 二进制手表
- Android资源知识(二)之Shape Drawable的使用
- Tomcat 启动 设置JVM参数& 使用指定的配置文件启动
- 润乾报表利用动态宏实现根据字符串参数顺序确定多层分组顺序
- 第13周项目1-Prim算法的验证
- 学习网址汇总2
- 第十三周【项目一-Prim算法的验证】
- HorizontalScrollView的基本使用,适合初学者
- 第十二周项目4-利用遍历思想解决图问题