leetcode 第179場(chǎng)周賽

1309. 解碼字母到整數(shù)映射

給你一個(gè)字符串 s,它由數(shù)字('0' - '9')和 '#' 組成渣慕。我們希望按下述規(guī)則將 s 映射為一些小寫英文字符:

字符('a' - 'i')分別用('1' - '9')表示冀膝。
字符('j' - 'z')分別用('10#' - '26#')表示逮走。
返回映射之后形成的新字符串去扣。

題目數(shù)據(jù)保證映射始終唯一。

直接hash解析對(duì)應(yīng)關(guān)系(水題)

class Solution(object):
    def freqAlphabets(self, s):
        """
        :type s: str
        :rtype: str
        """
        map = {}
        for i in range(1,28):
            str = "{}".format(i) if i<10 else "{}#".format(i)
            map[str] = chr(ord('a')+i-1)
        def dfs(start,lim):
            if lim-start>=3:
                if s[start:start+3] in map.keys():
                    return map[s[start:start+3]] + dfs(start+3,lim)
            elif lim-start>=1:
                if s[start:start+1] in map.keys():
                    return map[s[start:start+1]] + dfs(start+1,lim)
            return ""
        return dfs(0,len(s))

1310. 子數(shù)組異或查詢

有一個(gè)正整數(shù)數(shù)組 arr堪唐,現(xiàn)給你一個(gè)對(duì)應(yīng)的查詢數(shù)組 queries,其中 queries[i] = [Li, Ri]翎蹈。

對(duì)于每個(gè)查詢 i淮菠,請(qǐng)你計(jì)算從 Li 到 Ri 的 XOR 值(即 arr[Li] xor arr[Li+1] xor ... xor arr[Ri])作為本次查詢的結(jié)果。

并返回一個(gè)包含給定查詢 queries 所有結(jié)果的數(shù)組荤堪。

前綴異或和.
下標(biāo)L,R之間的異或和
下標(biāo)0,R之間的異或和 ^ 下標(biāo)0,L-1之間的異或和 = 下標(biāo)L...R的異或和

class Solution(object):
    def xorQueries(self, arr, queries):
        """
        :type arr: List[int]
        :type queries: List[List[int]]
        :rtype: List[int]
        """
        xorsum = [0]*(len(arr)+1)
        # 
        for i,v in enumerate(arr):
            xorsum[i] = xorsum[i-1]^v
        ans = []
        for que in queries:
            l,r = que
            ans.append(xorsum[r]^xorsum[l-1])
        return ans

1311. 獲取你好友已觀看的視頻

有 n 個(gè)人合陵,每個(gè)人都有一個(gè) 0 到 n-1 的唯一 id 枢赔。

給你數(shù)組 watchedVideos 和 friends ,其中 watchedVideos[i] 和 friends[i] 分別表示 id = i 的人觀看過(guò)的視頻列表和他的好友列表拥知。

Level 1 的視頻包含所有你好友觀看過(guò)的視頻踏拜,level 2 的視頻包含所有你好友的好友觀看過(guò)的視頻,以此類推低剔。一般的速梗,Level 為 k 的視頻包含所有從你出發(fā),最短距離為 k 的好友觀看過(guò)的視頻襟齿。

給定你的 id 和一個(gè) level 值姻锁,請(qǐng)你找出所有指定 level 的視頻,并將它們按觀看頻率升序返回猜欺。如果有頻率相同的視頻位隶,請(qǐng)將它們按名字字典序從小到大排列。

BFS廣搜,深度為k的情況下記錄視頻.不要忘記移除自己

class Solution(object):
    def watchedVideosByFriends(self, watchedVideos, friends, id, level):
        """
        :type watchedVideos: List[List[str]]
        :type friends: List[List[int]]
        :type id: int
        :type level: int
        :rtype: List[str]
        """
        vis = [0]*len(friends)
        que = []
        que.append((id,0))
        vis[id] = 1
        mp = {}
        def add(key):
            for video in watchedVideos[key]:
                mp[video] = mp.get(video,0)+1
        while que:
            now,dep = que.pop(0)
            if dep == level:
                add(now)
                continue
            friendlist = friends[now]
            for f in friendlist:
                if not vis[f]:
                    vis[f] = 1
                    que.append((f,dep+1))
        sorted_list = sorted(mp.items(),lambda x,y: cmp(x[0],y[0]) if cmp(x[1],y[1]) == 0 else cmp(x[1],y[1]) )
        return [ arr[0] for arr in sorted_list ]

1312. 讓字符串成為回文串的最少插入次數(shù)

給你一個(gè)字符串 s 替梨,每一次操作你都可以在字符串的任意位置插入任意字符钓试。

請(qǐng)你返回讓 s 成為回文串的 最少操作次數(shù) 。

「回文串」是正讀和反讀都相同的字符串副瀑。

這個(gè)地方等于求字符串長(zhǎng)度-最長(zhǎng)非連續(xù)回文子串
即求可利用的最多字符個(gè)數(shù),其他的不可利用字符等于插入個(gè)數(shù)

class Solution(object):
    def minInsertions(self, s):
        """
        :type s: str
        :rtype: int
        """
        vis = [[-1]*len(s) for i in range(len(s))]
        def dfs(l,r):
            if l == r:
                return 1
            if l > r:
                return 0
            if vis[l][r] !=-1:
                return vis[l][r]
            if s[l] == s[r]:
                vis[l][r] = 2+dfs(l+1,r-1)
            else:
                vis[l][r] = max(dfs(l+1,r),dfs(l,r-1))
            return vis[l][r]
        return len(s) - dfs(0,len(s)-1)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弓熏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子糠睡,更是在濱河造成了極大的恐慌挽鞠,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狈孔,死亡現(xiàn)場(chǎng)離奇詭異信认,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)均抽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門嫁赏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人油挥,你說(shuō)我怎么就攤上這事潦蝇。” “怎么了深寥?”我有些...
    開(kāi)封第一講書人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵攘乒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我惋鹅,道長(zhǎng)则酝,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任闰集,我火速辦了婚禮沽讹,結(jié)果婚禮上般卑,老公的妹妹穿的比我還像新娘。我一直安慰自己妥泉,他們只是感情好椭微,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著盲链,像睡著了一般蝇率。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上刽沾,一...
    開(kāi)封第一講書人閱讀 49,929評(píng)論 1 290
  • 那天本慕,我揣著相機(jī)與錄音,去河邊找鬼侧漓。 笑死锅尘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的布蔗。 我是一名探鬼主播藤违,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼纵揍!你這毒婦竟也來(lái)了顿乒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤泽谨,失蹤者是張志新(化名)和其女友劉穎璧榄,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吧雹,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡骨杂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雄卷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搓蚪。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖丁鹉,靈堂內(nèi)的尸體忽然破棺而出妒潭,到底是詐尸還是另有隱情,我是刑警寧澤鳄炉,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站搜骡,受9級(jí)特大地震影響拂盯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜记靡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一谈竿、第九天 我趴在偏房一處隱蔽的房頂上張望团驱。 院中可真熱鬧,春花似錦空凸、人聲如沸嚎花。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)紊选。三九已至,卻和暖如春道逗,著一層夾襖步出監(jiān)牢的瞬間兵罢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工滓窍, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卖词,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓吏夯,卻偏偏與公主長(zhǎng)得像此蜈,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子噪生,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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