二進位制手錶

2021-08-27 08:41:54 字數 1616 閱讀 7524

二進位制手錶頂部有 4 個 led 代表小時(0-11),底部的 6 個 led 代表分鐘(0-59)

每個 led 代表乙個 0 或 1,最低位在右側。

例如,上面的二進位制手錶讀取 「3:25」。

給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。

案例:

輸入: n = 1

返回: ["1:00", "2:00", "4:00", "8:00", "0:01", "0:02", "0:04", "0:08", "0:16", "0:32"]

注意事項:

一開始提交的這個,太慢了:

class solution 

};public listhour1 = new arraylist<>();

public listhour2 = new arraylist<>();

public listhour3 = new arraylist<>();

//min0~5 代表1個數0~5的時候的分針點數

public listmin0 = new arraylist(1)

};public listmin1 = new arraylist<>();

public listmin2 = new arraylist<>();

public listmin3 = new arraylist<>();

public listmin4 = new arraylist<>();

public listmin5 = new arraylist<>();

/** 選擇器 */

public listgethourlist(int type)

}/** 選擇器 */

public listgetminlist(int type)

}public listreadbinarywatch(int num)

}return result;

}/** 初始化list */

public solution()

//格式化分針顯示

getminlist(temp).add(string.format("%02d", i));}}

/** 獲取1的數量 */

public int countone(int n)

return count;

}/** 組合時、分進result */

public void dealresult(listresult, listhours, listminutes) }}

}

後來參照別人提交的作修改:

class solution  else }}

}return times;

}//或者這樣

// public listreadbinarywatch(int num) else

// }

// }

// return times;

// }

}

401 二進位制手錶

二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...

401 二進位制手錶

二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...

LeetCode 二進位制手錶

二進位制手錶頂部有 4 個 led 代表小時 0 11 底部的 6 個 led 代表分鐘 0 59 每個 led 代表乙個 0 或 1,最低位在右側。例如,上面的二進位制手錶讀取 3 25 給定乙個非負整數 n 代表當前 led 亮著的數量,返回所有可能的時間。案例 輸入 n 1 返回 1 00 2...