每日一題20201216(290 單詞規律)

2022-05-15 06:18:45 字數 1084 閱讀 1113

290. 單詞規律

思路但是你不能明著叫,所以你用aab進行代替,這個題目可以說很符合這個場景了!所以現在要做的是,判斷五五開是不是aab,判斷aab是不是五五開。

首先我們維護2個map, 乙個存放a->五的對映關係, 乙個存放五->a的對映關係。

為什麼需要2個map, 你想,adb->五五開, 這樣的對映,你只儲存了a->五,並沒有儲存五->a,所以adb->五五開也能通過,但這不符合題意。

class solution:

def wordpattern(self, pattern: str, s: str) -> bool:

# mp1: a -> wu

mp1 = {}

# mp2: wu -> a

mp2 = {}

# 切割字串為陣列

b = s.split(" ")

# 如果長度不一樣 直接return false

if len(pattern) != len(b):

return false

# 長度一樣可以盡情zip

for x, y in zip(pattern, b):

# a -> wu 如果檢測失敗,直接return

if mp1.get(x) is not none and mp1.get(x) != y:

return false

# wu -> a 如果檢測失敗, 直接return

if mp2.get(y) is not none and mp2.get(y) != x:

return false

# 建立a->wu和wu->a的對映關係

寫完題解了,終於可以坐下了。

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...

每日一題2018 3 21

leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...

每日一題2018 3 22

leetcode 03 最長不重複子串 第一反應就是動態規劃。看到了網上的方法一。直接把問題簡化為找兩個重複字元間的最長距離,太巧妙了!class solution if i idx max locs s i i return max ling老師的方法二 仍舊轉化為動態規劃,但是為節省空間不再開個...