Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크
문자열 배열이 주어지면 문자열
, 그룹 애너그램 함께. 당신은 대답을 반환 할 수 있습니다 어떤 주문이든.
안 철자 바꾸기 다른 단어나 문구의 글자를 재배열하여 형성된 단어나 문구이며, 일반적으로 원래 글자를 모두 정확히 한 번씩 사용합니다.
예시 1:
입력: strs = ["먹다", "차", "탄", "먹었다", "자연", "박쥐"] 산출: [["박쥐"],["nat",["탄"],["먹었다","먹다","차"]]
예 2:
입력: 문자열 = [""] 산출: [[""]]
예시 3:
입력: 문자열 = ["a"] 산출: [["에이"]]
제약:
1 <= 문자열 길이 <= 10 4
0 <= strs[i].길이 <= 100
str[i] 에 대한 설명
소문자 영어 글자로 구성됩니다.
파이썬
# 시간 복잡도: O(nklogk) # 공간 복잡도: O(nk) 컬렉션에서 defaultdict 가져오기 타이핑에서 List 클래스 가져오기 솔루션: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: ans = defaultdict(list) for s in strs: ans[tuple(sorted(s))].append(s) return ans.values() strs = ["eat", "tea", "tan", "ate", "nat", "bat"] print(Solution().groupAnagrams(strs))