7.19 - medium總結(jié)18

341. Flatten Nested List Iterator: 用遞歸的方法把值先全部expand华糖,或者在hasnext中expand出一個(gè)integer,判斷出stack的第一個(gè)值時(shí)integer的時(shí)候就返回true
343. Integer Break: dp問(wèn)題,注意前幾個(gè)case,也就是說(shuō)當(dāng)分解后的乘積小于自身的時(shí)候要取自身的值
347.\ Top K Frequent Elements: 用heap自然可以直接做,但是如果在followup里灶体,可以用bucketsortbucketsort的想法就是把同一性質(zhì)的數(shù)放到同一個(gè)bucket里阅签。這里是把具有同樣frequency的數(shù)(先做hash,count frequency)放到bucket里bucket[index] -> list然后由高位到低位依次數(shù)蝎抽。
348. Design Tic-Tac-Toe: 這題還算是簡(jiǎn)單政钟,主要是減少記錄的信息,不需要記錄整個(gè)棋盤(pán)樟结,只要在每下一步养交,記錄一下行,列瓢宦,對(duì)角線(xiàn)碎连,反對(duì)角線(xiàn)的個(gè)數(shù)就好了。
351. Android Unlock Patterns: 一道backtracking的題目驮履,其中的狀態(tài)變化是從某個(gè)按鍵鱼辙,能否移動(dòng)到下一個(gè)按鍵。

class Solution(object):
    def numberOfPatterns(self, m, n):
        """
        :type m: int
        :type n: int
        :rtype: int
        """
        skip = [[0 for _ in range(10)] for _ in range(10)]
        skip[1][3] = skip[3][1] = 2
        skip[1][7] = skip[7][1] = 4
        skip[3][9] = skip[9][3] = 6
        skip[7][9] = skip[9][7] = 8
        skip[1][9] = skip[9][1] = skip[2][8] = skip[8][2] = skip[3][7] = skip[7][3] = skip[4][6] = skip[6][4] = 5
        vis = [False]*10
        rst = 0;
        # DFS search each length from m to n
        for i in range(m, n+1):
            rst += self.dfs(vis, skip, 1, i - 1) * 4;    # 1, 3, 7, 9 are symmetric
            rst += self.dfs(vis, skip, 2, i - 1) * 4;    # 2, 4, 6, 8 are symmetric
            rst += self.dfs(vis, skip, 5, i - 1)         # 5
        return rst

    def dfs(self, vis, skip, cur, remain): 
        if remain < 0:
            return 0
        if remain == 0:
            return 1
        vis[cur] = True
        rst = 0
        for i in range(1, 10):
            # If vis[i] is not visited and (two numbers are adjacent or skip number is already visited)
            if not vis[i] and (skip[cur][i] == 0 or vis[skip[cur][i]]):
                rst += self.dfs(vis, skip, i, remain - 1)
        vis[cur] = False
        return rst

353. Design Snake Game: 這種設(shè)計(jì)題不難玫镐,但是要用最精簡(jiǎn)的數(shù)據(jù)結(jié)構(gòu)來(lái)構(gòu)造最合適的倒戏,還是不容易的,可能會(huì)設(shè)計(jì)出不少冗余出來(lái)恐似。
355. Design Twitter:getfeeds 有點(diǎn)類(lèi)似first k element in n sorted linkedlist杜跷,用heap來(lái)做
356. Line Reflection:先按照y值進(jìn)行hash,然后先對(duì)第一個(gè)key找它的reflect line矫夷,然后對(duì)后面所有的值驗(yàn)證一下reflect line
357. Count Numbers with Unique Digits:比較簡(jiǎn)單的一道dp題葛闷,推導(dǎo)公式為dp[i] = dp[i-1] * (10-i+1)
360. Sort Transformed Array:先對(duì)整個(gè)arr進(jìn)行數(shù)學(xué)運(yùn)算,然后從兩頭依次找就可以了双藕。只是要注意a的取值孵运,a是正負(fù)或者是0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蔓彩,隨后出現(xiàn)的幾起案子治笨,更是在濱河造成了極大的恐慌驳概,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旷赖,死亡現(xiàn)場(chǎng)離奇詭異顺又,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)等孵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)稚照,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人俯萌,你說(shuō)我怎么就攤上這事果录。” “怎么了咐熙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵弱恒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我棋恼,道長(zhǎng)返弹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任爪飘,我火速辦了婚禮义起,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘师崎。我一直安慰自己默终,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布犁罩。 她就那樣靜靜地躺著穷蛹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪昼汗。 梳的紋絲不亂的頭發(fā)上肴熏,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音顷窒,去河邊找鬼蛙吏。 笑死,一個(gè)胖子當(dāng)著我的面吹牛鞋吉,可吹牛的內(nèi)容都是我干的鸦做。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谓着,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼泼诱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起赊锚,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤治筒,失蹤者是張志新(化名)和其女友劉穎屉栓,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體耸袜,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡友多,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了堤框。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片域滥。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜈抓,靈堂內(nèi)的尸體忽然破棺而出启绰,到底是詐尸還是另有隱情,我是刑警寧澤沟使,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布委可,位于F島的核電站,受9級(jí)特大地震影響格带,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刹枉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一叽唱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧微宝,春花似錦棺亭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至岳守,卻和暖如春凄敢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背湿痢。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工涝缝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人譬重。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓拒逮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親臀规。 傳聞我的和親對(duì)象是個(gè)殘疾皇子滩援,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

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