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".

    二进制手表上的数字有一个特点:转换成二进制后,只有1位的数字为1
    例如: 2=10
                4=100
                8=1000
    可以利用这一特性进行解题
    1. static public List<string> ReadBinaryWatch(int num) {
    2. List<string> list = new List<string>();
    3. string s = "";
    4. for (int i = 0; i < 12; i++) {
    5. for (int j = 0; j < 60; j++) {
    6. if (BitCount(i) + BitCount(j) == num) {
    7. list.Add(i.ToString() + ":" + NumberToString(j));
    8. }
    9. }
    10. }
    11. return list;
    12. }
    13. static public int BitCount(int number) {
    14. int sum = 0;
    15. while (number > 0) {
    16. if ((number & 1) == 1) {
    17. sum++;
    18. }
    19. number >>= 1;
    20. }
    21. return sum;
    22. }
    23. static public string NumberToString(int number) {
    24. string s = number.ToString();
    25. return s.PadLeft(2, '0');
    26. }





  • 相关阅读:
    QQ音乐 删除历史登录设备
    mweb发布文章为什么默认TinyMCE编辑器?
    Mac 安装 Homebrew
    uniapp配置scss支持
    PHPRedis教程之geo
    CentOS7通过YUM安装NGINX稳定版本
    CentOS7通过YUM安装MySQL5.6
    更换composer镜像源为阿里云
    使用chattr禁止文件被删除
    centos 7 源码安装 mysql 5.6
  • 原文地址:https://www.cnblogs.com/xiejunzhao/p/9a2a5a9e740619d04df1af25c93e6204.html
Copyright © 2011-2022 走看看