バイナリleetcode-401を見ます

バイナリleetcode-401を見ます

件名の説明:

バイナリ時計は時間(0-11)用LED 4組のトップ、分(0-59)のLED 6つの底部を有します。各LEDは、右側の最下位ビットを0または1を表します。非負の整数を与えN点灯数が現在の戻りをすべての可能な時間をLED表します。

参考:負の雪ミン朱

from itertools import combinations
class Solution:
    def readBinaryWatch(self, num: int) -> List[str]:
        
        def dfs(num,hour,res):
            if hour > num: return
            for hours in combinations([1,2,4,8],hour):
                hs = sum(hours)
                if hs >= 12: continue
                for mints in combinations([1,2,4,8,16,32],num-hour):
                    ms = sum(mints)
                    if ms >= 60: continue
                    res.append("%d:%02d"%(hs,ms))
            dfs(num,hour+1,res)
        res = []
        dfs(num,0,res)
        return res

参考:学習のパンダの愛

from itertools import combinations
class Solution:
    def readBinaryWatch(self, num: int) -> List[str]:
        
        res = []
        for h in range(12):
            for m in range(60):
                if (bin(h)+bin(m)).count('1') == num:
                    res.append("%d:%02d"%(h,m))
        return res

おすすめ

転載: www.cnblogs.com/curtisxiao/p/11265952.html