iT邦幫忙

0

解LeetCode的學習筆記Day49_Group Anagrams

LFI 2025-11-09 21:39:11206 瀏覽
  • 分享至 

  • xImage
  •  

今天是紀錄LeetCode解題的第四十九天

第四十九題題目:Given an array of strings strs, group the anagrams together. You can return the answer in any order.

給定一個字串數組strs,將他們有同樣字謎的分組一起,可以回傳任意順序

解題思路

建立一個空字典,來存放分組,遍歷整個strs,把每個字串變成Tuple並做排序,接著把排序好的Tuple當作字典的key,並放入字典,這樣字串如果是相同字母的組合,就會在排序時得到相同的key,並被放到同一組key的value裡

程式碼

from collections import defaultdict
class Solution:
    def groupAnagrams(self, strs: List[str]) -> List[List[str]]:
        group = defaultdict(list)
        for s in strs:
            key = tuple(sorted(s))
            group[key].append(s)
        return list(group.values())

這裡的defaultdict用法和普通的字典幾乎一樣,但可以在key不存在時自動建立預設值


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言