• 401. 二进制手表


    二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。

    例如,下面的二进制手表读取 "3:25" 。

    (图源:WikiMedia - Binary clock samui moon.jpg ,许可协议:Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) )

    给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。

    小时不会以零开头:

    例如,"01:00" 是无效的时间,正确的写法应该是 "1:00" 。
    分钟必须由两位数组成,可能会以零开头:

    例如,"10:2" 是无效的时间,正确的写法应该是 "10:02" 。
     

    示例 1:

    输入:turnedOn = 1
    输出:["0:01","0:02","0:04","0:08","0:16","0:32","1:00","2:00","4:00","8:00"]
    示例 2:

    输入:turnedOn = 9
    输出:[]

    提示:

    0 <= turnedOn <= 10

    方法一: 二进制枚举法

    class Solution:
        def readBinaryWatch(self, turnedOn: int) -> List[str]:
            # 二级制枚举法
            res = []
            for h in range(12):
                for m in range(60):
                    # 判断小时1的个数 + 分钟1的个数 =  trunedOn -> 符合
                    if str(bin(h)).count('1') + str(bin(m)).count('1') == turnedOn:
                        res.append(f'{h}:{m:02d}') # h如果1位无需补0, m需要补0
            
            return res
  • 相关阅读:
    SQL SERVER导入Excel csv
    微信付款码扫码枪支付
    idftp
    不正常地定义参数对象。提供了不一致或不完整的信息
    sql 日志文件截断收缩
    sql server 新语法 收藏
    SQL SERVER 2019新功能
    SQL SERVER 死锁
    rad 10.2
    TXMLDocument 创建空值节点不要缩写
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/14915911.html
Copyright © 2020-2023  润新知