摘要:不需要關注輸出的順序,所有的輸入都是小寫。的就是經過排序后的字符數組所對應的字符串。因為不需要考慮輸出的順序,所以遍歷完直接輸出中的所有值即可。解法邊界情況判斷如果存在相同組成的元素
題目詳情
Given an array of strings, group anagrams together.思路
題目要求輸入一個字符串數組,我們要將由同樣字母組成的字符串整理到一起,然后以如下例子中的格式輸出。
不需要關注輸出的順序,所有的輸入都是小寫。Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]
本題的思路還是比較容易想的,一個關鍵點在于如何判斷兩個字符串是相同的字符組成的呢?這里我們先將一個字符串通過toCharArray()方法轉為字符數組,再通過Arrays.sort()對拆解后的字符數組重新排序。這樣的話,如果兩個字符串的組成字符相同,那他們拆解后的字符數組經過排序也一定是相同的。
我們這里用Map來存儲,一種元素組成所對應的所有字符串。
map的key就是經過排序后的字符數組所對應的字符串。
因為不需要考慮輸出list的順序,所以遍歷完直接輸出map中的所有value值即可。
解法public List> groupAnagrams(String[] strs) { //邊界情況判斷 if(strs.length==0)return new ArrayList(); HashMap
> res = new HashMap >(); for(String s : strs){ char[] temp = s.toCharArray(); Arrays.sort(temp); String key = String.valueOf(temp); //如果存在相同組成的元素 if(!res.containsKey(key)){ res.put(key, new ArrayList()); } res.get(key).add(s); } return new ArrayList(res.values()); }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71599.html
摘要:同時使用方法將數組轉化為并利用的直接比較兩個字符串是否相等。通過這種方法效率值提高了不少。 題目要求 Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat], Return: [ [ate, eat,tea], [nat,t...
摘要:我們將每個詞排序后,根據這個鍵值,找到哈希表中相應的列表,并添加進去。 Group Anagrams 最新更新請見:https://yanjia.me/zh/2019/01/... Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat...
摘要:也就是同構異形體。特點是有相同數量的組成。素數可以素數表。這里使用而不是可以避免最后從導出結果的時間。修改了和得到的方法,其他都一樣。但是會有解不了的地方。還有個特殊情況就是不是一組。如果數字編碼出來都是如果用編碼,出現的就是。 49 Group Anagrams Given an array of strings, group anagrams together. For examp...
摘要:題目解答遇到這種要求一個的集合,首先想到的就是。那么被的作為把有同樣的以的形式放到里,然后輸出。 題目:Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat], Return: [ [ate, eat,tea], [nat,tan],...
Problem Given an array of strings, group anagrams together. Example: Input: [eat, tea, tan, ate, nat, bat], Output: [ [ate,eat,tea], [nat,tan], [bat] ] Note: All inputs will be in lowercase.The ...
閱讀 3161·2021-11-04 16:09
閱讀 3124·2021-09-23 11:49
閱讀 3645·2021-09-09 09:33
閱讀 3626·2021-08-18 10:22
閱讀 2046·2019-08-30 15:55
閱讀 3633·2019-08-30 15:53
閱讀 2661·2019-08-28 18:08
閱讀 895·2019-08-26 18:18