zoukankan      html  css  js  c++  java
  • LeetCode 401. Binary Watch

    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”.
    class Solution {
    public:
        vector<string> readBinaryWatch(int num) { //用bitset
            vector<string> result;
            for(int h = 0; h < 12; h++) {
                for(int m = 0; m < 60; m++) {
                    bitset<10> b(h << 6 | m);
                    if(b.count() == num) { //获得二进制中1的个数
                        string temp = to_string(h) + ":";
                        if(m < 10)
                            temp += "0";
                        temp += to_string(m);
                        result.push_back(temp);
                    }
                }
            }
            return result;
        }
    };
    
  • 相关阅读:
    MySQL忘记root密码的找回方法
    MySQL中的备份和恢复
    MySQL中的锁(表锁、行锁)
    设计模式之: 策略模式
    MySQL流程函数
    高效查看MySQL帮助文档的方法
    php动态获取函数参数
    设计模式之: 代理模式
    网站性能优化指标
    设计模式之: 状态模式
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/10061327.html
Copyright © 2011-2022 走看看