LeetCode-Binary Watch

https://leetcode.com/problems/binary-watch/
題目的大致意思是這樣的:
首先介紹一下Binary Watch
表盤(pán)上10個(gè)燈,開(kāi)和關(guān)分別代表1和0.
前4個(gè)燈表示小時(shí),后6個(gè)燈表示分鐘數(shù)。
現(xiàn)在給出亮的燈數(shù)n,求出可以表示的時(shí)間。
直接上代碼

先來(lái)一份C++的代碼

class Solution {
public:
    vector<string> readBinaryWatch(int num) {
        vector<string> res;
        for(int h=0; h<12; h++)
        for(int m=0; m<60; m++)
            if (bitset<10>(h<<6|m).count() == num)
                res.push_back(to_string(h)+(m<10?":0":":")+to_string(m));
        return res;
        
    }
};

接著我又用swift 重寫(xiě)了,由于沒(méi)有找到swift的bitset類,所以直接枚舉出了所有的時(shí)鐘和分鐘數(shù)字。

class Solution {
    func readBinaryWatch(_ num: Int) -> [String] {
        var hour:[[String]] = [["0"],["1","2","4","8"],["3","5","6","9","10"],["7","11"]]
        var minute:[[String]] = [["00"], //1
            ["01", "02", "04", "08", "16", "32"], //6
            ["03", "05", "06", "09", "10", "12", "17", "18", "20", "24", "33", "34", "36", "40", "48"], //15
            ["07", "11", "13", "14", "19", "21", "22", "25", "26", "28", "35", "37", "38", "41", "42", "44", "49", "50", "52", "56"], //20
            ["15", "23", "27", "29", "30", "39", "43", "45", "46", "51", "53", "54", "57", "58"], //14
            ["31", "47", "55", "59"]]
        var res:[String] = [String]()
        for i in 0...3 {
            for j in 0...5 {
                if(i + j == num) {
                    for str1 in hour[i] {
                        for str2 in minute[j] {
                            res.append(str1+":"+str2)
                        }
                    }
                }
            }
        }
        return res
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • My code: 并不是一道難題,但是覺(jué)得應(yīng)該是 medium,因?yàn)橐膊皇撬裁氲?。整體過(guò)程寫(xiě)起來(lái),至少得10分鐘吧...
    Richardo92閱讀 577評(píng)論 0 0
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問(wèn)題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,927評(píng)論 0 33
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,430評(píng)論 4 61
  • 轉(zhuǎn)載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 UI下拉刷新模糊效果A...
    袁俊亮技術(shù)博客閱讀 12,147評(píng)論 9 105
  • 感恩今天的天氣炎熱,大大的太陽(yáng),正好可以把給悠悠上學(xué)準(zhǔn)備的被褥拿出來(lái)曬曬,既軟活,又消了毒。 感恩今天送悠悠上學(xué),...
    武丹yoyo閱讀 374評(píng)論 0 0

友情鏈接更多精彩內(nèi)容