그룹 애너그램
애너그램은 일반적으로 모든 원래 문자를 정확히 한 번만 사용하여 다른 단어나 구의 문자를 재배열하여 형성된 단어 또는 구입니다.
Input: strs = ["eat","tea","tan","ate","nat","bat"]
Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
var groupAnagrams = function (strs) {
if (!strs || !strs.length) {
return null;
}
let anagrams = {};
for (let x = 0; x < strs.length; x++) {
const sortedWord = strs[x].split('').sort().join();
if (sortedWord in anagrams) {
anagrams[sortedWord].push(strs[x])
} else {
anagrams[sortedWord] = [strs[x]];
}
}
return Object.values(anagrams);
}
시간 복잡도 : O(w*n*log(n))
공간 복잡도 : O(wn)
Reference
이 문제에 관하여(그룹 애너그램), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/styluso7/group-anagrams-4j9l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)