209 單詞規律2020 12 16

2021-10-12 06:06:37 字數 1352 閱讀 9385

給定一種規律 pattern 和乙個字串 str ,判斷 str 是否遵循相同的規律。

這裡的 遵循 指完全匹配,例如, pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。

例項:

輸入: pattern = "abba", str = "dog cat cat dog"

輸出: true

輸入:pattern = "abba", str = "dog cat cat fish"

輸出: false

輸入: pattern = "aaaa", str = "dog cat cat dog"

輸出: false

輸入: pattern = "abba", str = "dog dog dog dog"

輸出: false

題解:這個題是簡單,但是通過率挺低,感覺依舊是個資料結構的題,不涉及演算法,這裡主要用到map(字典),將pattern作為key,字串作為value,乙個key對應乙個value,如果出現新的key,就加入到字典中,並確保加入的value不在字典中,如果在的話說明,兩個不同的key對應同乙個value,明顯不滿足條件。遍歷pattern過程中,如果key在字典中的話,就判斷改key在字典中對應的value和實際遍歷過程中字串對應的字串是否相同,如果不同,返回false即可。(ps.在前面加上判斷pattern和字串是否相同是後面通過實際案例分析得到的)

class

solution

(object):

defwordpattern

(self, pattern, s)

:"""

:type pattern: str

:type s: str

:rtype: bool

"""s = s.split(

" ")

#判斷兩個長度是否相同,如果不同則明顯不滿足條件

iflen

(pattern)

!=len

(s):

return

false

dict_ =

for i,v in

zip(pattern, s)

:if i not

in dict_ and v not

in dict_.values():

dict_.update(

)else

:if dict_.get(i)

!=v:

return

false

return

true

20201216 單詞規律

給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律 示例1 輸入 pattern abba str dog cat cat dog 輸出 true...

Leetcode 單詞規律

63.單詞規律 題目內容 及思路 include include include includeusing namespace std class solution if i str.size 1 對於最後乙個字串 如果個數不一樣,肯定不匹配 if pattern.size str1.size re...

290 單詞規律

給定一種規律 pattern 和乙個字串 str 判斷 str 是否遵循相同的規律。這裡的 遵循 指完全匹配,例如,pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應規律。示例1 輸入 pattern abba str dog cat cat dog 輸出 true...