zoukankan      html  css  js  c++  java
  • 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".

    backtracking 让bit自左至右往上加,需要注意时间格式的限定条件,小时不超过12点,分钟不超过60min。

     public IList<string> ReadBinaryWatch(int num) {
            var res = new List<string>();
            Backtracking(num,1,res,0,0);
            return res;
            
        } 
        
        private void Backtracking(int num,int bit, IList<string> res, int hr,int min)
        {
            if(num<0) return;
            if(bit == 11)
            {
                if(num == 0 && hr<12 && min<60)  res.Add(hr+":"+((min<10)?"0"+min: min+""));
                return ;
            }
            else
            {
                Backtracking(num,bit+1,res,hr,min);
                if(bit <=4 ) Backtracking(num-1,bit+1,res,hr+(int)Math.Pow(2,4-bit),min);
                else  Backtracking(num-1,bit+1,res,hr,min+(int)Math.Pow(2,10-bit));
            }
        } 
  • 相关阅读:
    sharepoint2013保存当前输入的列表
    网站模板的下载和使用
    sharepoint获取是否为输入域用户SharePoint PeopleEditor 控件的使用
    sharepoint指定的人可以看到列表项
    js隐藏显示div
    如何为同一IE浏览器中打开多个页面
    CDC相关知识点总结
    find 命令使用总结
    find 命令search使用
    verilog behavioral modeling --loop statement
  • 原文地址:https://www.cnblogs.com/renyualbert/p/5883751.html
Copyright © 2011-2022 走看看