從2022.6.19開始到秋招結束,我將每天更新至少一題
leetcode自己的理解到這個blog上,立貼為證。
class Solution:
def isAnagram(self, s, t):
from collections import defaultdict
s_dict = defaultdict(int)
t_dict = defaultdict(int)
for x in s:
s_dict[x] += 1
for x in t:
t_dict[x] += 1
return s_dict == t_dict
這是我從leetcode看到的一個回答,采用的是collections的defaultdict這個容器,和dict不同的是defaultdict本對象包含一個名為default_factory的屬性,構造時,第一個參數用於為該屬性提供初始值,默認為 None。所有其他參數(包括關鍵字參數)都相當於傳遞給 dict 的構造函數
s_dict[x]
的時候會初始化為{‘xxx’:0}(因為defaultdict(int)
傳入的參數為int)這樣就不會出現key錯誤,然後進行計數操作
可以看到時間和空間復雜度都挺不錯的