Leetcode 2590(設(shè)計的魅力4)

今天是11月的第一個周末翩隧,我安靜的在家休息,又選擇了一道leetcode設(shè)計題呻纹,感覺很有意思堆生,由于調(diào)用方法不超過400次,可以盡情發(fā)揮
2590. 設(shè)計一個待辦事項清單

class TodoList
    def initialize()
       @h = {}
       @cnt = 0
    end


=begin
    :type user_id: Integer
    :type task_description: String
    :type due_date: Integer
    :type tags: String[]
    :rtype: Integer
=end
    def add_task(user_id, task_description, due_date, tags)
        unless @h.has_key?(user_id)
            @cnt += 1
            @h[user_id] = {}
            @h[user_id][task_description] = {}
            @h[user_id][task_description]["due_date"] = due_date
            @h[user_id][task_description]["tags"] = tags
            @h[user_id][task_description]["id"] = @cnt
            @h[user_id][task_description]["completed"] = false
            return @cnt
        else
            @cnt += 1
            @h[user_id][task_description] = {}
            @h[user_id][task_description]["due_date"] = due_date
            @h[user_id][task_description]["tags"] = tags
            @h[user_id][task_description]["id"] = @cnt
            @h[user_id][task_description]["completed"] = false
            return @cnt
        end
        
    end


=begin
    :type user_id: Integer
    :rtype: String[]
=end
    def get_all_tasks(user_id)
        if @h.has_key?(user_id)
           return @h[user_id].select {|k,v| @h[user_id][k]["completed"] == false}.keys.sort_by {|it| @h[user_id][it]["due_date"]}
        else
           return []
        end
    end


=begin
    :type user_id: Integer
    :type tag: String
    :rtype: String[]
=end
    def get_tasks_for_tag(user_id, tag)
        if @h.has_key?(user_id)
            return @h[user_id].select {|k,v| @h[user_id][k]["completed"] == false && @h[user_id][k]["tags"].include?(tag)}.keys.sort_by {|it| @h[user_id][it]["due_date"]}
        else
            return []
        end
    end


=begin
    :type user_id: Integer
    :type task_id: Integer
    :rtype: Void
=end
    def complete_task(user_id, task_id)
       if @h.has_key?(user_id)
            m = @h[user_id].select {|k,v| @h[user_id][k]["id"] == task_id}.keys[0]
            if m != nil
                @h[user_id][m]["completed"] = true
            end
       end
    end


end

# Your TodoList object will be instantiated and called as such:
# obj = TodoList.new()
# param_1 = obj.add_task(user_id, task_description, due_date, tags)
# param_2 = obj.get_all_tasks(user_id)
# param_3 = obj.get_tasks_for_tag(user_id, tag)
# obj.complete_task(user_id, task_id)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雷酪,一起剝皮案震驚了整個濱河市淑仆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哥力,老刑警劉巖蔗怠,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吩跋,居然都是意外死亡寞射,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門锌钮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桥温,“玉大人,你說我怎么就攤上這事梁丘∏纸” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵氛谜,是天一觀的道長掏觉。 經(jīng)常有香客問我,道長值漫,這世上最難降的妖魔是什么履腋? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮惭嚣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悔政。我一直安慰自己晚吞,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布谋国。 她就那樣靜靜地躺著槽地,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捌蚊,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天集畅,我揣著相機與錄音,去河邊找鬼缅糟。 笑死挺智,一個胖子當(dāng)著我的面吹牛西壮,可吹牛的內(nèi)容都是我干的与纽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼曙搬,長吁一口氣:“原來是場噩夢啊……” “哼赴涵!你這毒婦竟也來了媒怯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤髓窜,失蹤者是張志新(化名)和其女友劉穎扇苞,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寄纵,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡鳖敷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了擂啥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哄陶。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哺壶,靈堂內(nèi)的尸體忽然破棺而出屋吨,到底是詐尸還是另有隱情,我是刑警寧澤山宾,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布至扰,位于F島的核電站,受9級特大地震影響资锰,放射性物質(zhì)發(fā)生泄漏敢课。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一绷杜、第九天 我趴在偏房一處隱蔽的房頂上張望直秆。 院中可真熱鬧,春花似錦鞭盟、人聲如沸圾结。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筝野。三九已至晌姚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間歇竟,已是汗流浹背挥唠。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留焕议,地道東北人宝磨。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像号坡,于是被迫代替她去往敵國和親懊烤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容