精華區beta Marginalman 關於我們 聯絡資訊
※ 引述《JIWP (神楽めあ的錢包)》之銘言: : 1002. Find Common Characters : 給一個string array : 請回傳在每個string都出現過的字元 : 思路: : 用兩個矩陣 : rec紀錄到目前為止出現過的字元次數 : tmp紀錄目前這個string字元出現的次數 : 當rec[i]>tmp[i],tmp[i]++ : golang code: : func commonChars(words []string) []string { : rec:=[26]int{} : res:=[]string{} : for _,val:=range words[0]{ : rec[val-'a']++ : } : for _,val:=range words{ : tmp:=[26]int{} : for _,char:=range val{ : if rec[char-'a']>tmp[char-'a']{ : tmp[char-'a']++ : } : } : rec=tmp : } : for key,val:=range rec{ : for i:=0;i<val;i++{ : res=append(res,string('a'+key)) : } : } : return res : } 思路: 沒思路 哈希表紀錄第一個單字 後面硬幹 Python Code: class Solution: def commonChars(self, words: List[str]) -> List[str]: record = defaultdict(int) result = [] for c in words[0]: record[c] += 1 for i in range(1,len(words)): for k in record.keys(): if k in words[i]: if record[k] > words[i].count(k): record[k] = words[i].count(k) else: record[k] = 0 for k,v in record.items(): if v > 0: for i in range(v): result.append(k) return result -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.137.113 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1717590638.A.B2C.html
deatheo: 大師 06/05 20:34