国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Leetcode】401. Binary Watch

2019-11-06 06:38:36
字體:
來源:轉載
供稿:網友

方法一:

思路:

枚舉。

public class Solution {    Map<Integer, List<String>> minuteMap = new HashMap<Integer, List<String>>() {{          put(0, new ArrayList<String>() {{            add("00");         }});          put(1, new ArrayList<String>() {{            add("01"); add("02"); add("04"); add("08"); add("16"); add("32");         }});          put(2, new ArrayList<String>() {{            add("03"); add("05"); add("06"); add("09"); add("10"); add("12");  add("17"); add("18");  add("20"); add("24"); add("33"); add("34"); add("36"); add("40"); add("48");          }});          put(3, new ArrayList<String>() {{              add("07"); add("11"); add("13"); add("14"); add("19"); add("21"); add("22"); add("25"); add("26"); add("28"); add("35"); add("37"); add("38"); add("41"); add("42"); add("44"); add("49"); add("50"); add("52"); add("56");          }});          put(4, new ArrayList<String>() {{             add("15"); add("23"); add("27"); add("29"); add("30"); add("39"); add("43"); add("45"); add("46"); add("51"); add("53"); add("54"); add("57"); add("58");                             }});          put(5, new ArrayList<String>() {{              add("31"); add("47"); add("55"); add("59");          }});      }};      Map<Integer, List<String>> hourMap = new HashMap<Integer, List<String>>() {{          put(0, new ArrayList<String>() {{              add("0");          }});          put(1, new ArrayList<String>() {{              add("1"); add("2"); add("4"); add("8");          }});          put(2, new ArrayList<String>() {{              add("3"); add("5"); add("6"); add("9"); add("10");          }});          put(3, new ArrayList<String>() {{              add("7"); add("11");          }});      }};      public List<String> readBinaryWatch(int num) {          List<String> result=new ArrayList<String>();          for (int i = 0; i <= num; i++) {              int hour = i;              int minute = num - i;              if (hour <= 3 && minute <= 5) {                  List<String> hours = hourMap.get(hour);                  List<String> minutes = minuteMap.get(minute);                  for (int j = 0; j < hours.size(); j++) {                      for (int k = 0; k < minutes.size(); k++) {                          result.add(hours.get(j) + ":" + minutes.get(k));                      }                  }              }          }          return result;      }  }Runtime:8ms

方法二:

思路:

枚舉,bitCount方法是用來統計參數i轉成2進制后有多少個1。

public class Solution {    public List<String> readBinaryWatch(int num) {          List<String> times = new ArrayList<>();        for (int h = 0; h < 12; h++)            for (int m = 0; m < 60; m++)                if (Integer.bitCount(h * 64 + m) == num)                    times.add(String.format("%d:%02d", h, m));        return times;       }  }

Runtime:29ms


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平舆县| 德令哈市| 江永县| 葫芦岛市| 霍州市| 杭锦旗| 紫阳县| 虞城县| 大洼县| 武城县| 梁平县| 酒泉市| 子长县| 中宁县| 天全县| 南川市| 长葛市| 上虞市| 华安县| 二连浩特市| 马山县| 靖安县| 新晃| 甘南县| 府谷县| 田阳县| 宽城| 明光市| 天门市| 墨竹工卡县| 吉林市| 繁峙县| 霍山县| 姜堰市| 四子王旗| 阳城县| 兴山县| 通江县| 大足县| 白水县| 甘德县|