leetcode-49 Group Anagrams 동위어 사전 정렬
Given an array of strings,group anagrams together.
For example, given: ["eat", "tea","tan", "ate", "nat", "bat"], Return:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
Note:
Update (2015-08-09): The signature of the function had been updated to return List
- > insteadof List
문제 분석:
사전의 순서를 정렬하는 방법은 매우 많은데, 이 그림은 집합 중의sort 방법을 이용하여 정렬하는 데 편리하다.
일치하는 문제를 찾으려면 HashMap을 사용하는 것이 좋습니다.
코드:
public class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
List<List<String>>result = new ArrayList<>();
if(strs == null || strs.length == 0)
return result;
// key, List HashMap
HashMap<String,List<String>>map = new HashMap<>();
for(int i = 0; i < strs.length; i++) {
char[] chars = strs[i].toCharArray();
//
Arrays.sort(chars);
String temp = new String(chars);
if (!map.containsKey(temp)) {
List<String> result_list = new ArrayList<>();
result_list.add(strs[i]);
map.put(temp, result_list);
} else {
map.get(temp).add(strs[i]);
}
}
// map, ArrayList
Iterator<Map.Entry<String,List<String>>>iterator = map.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry<String,List<String>> entry = iterator.next();
List<String> temp_list = entry.getValue();
Collections.sort(temp_list);
result.add(temp_list);
}
return result;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.