亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

leetcode 49 Group Anagrams

陳偉 / 997人閱讀

摘要:不需要關(guān)注輸出的順序,所有的輸入都是小寫。的就是經(jīng)過排序后的字符數(shù)組所對(duì)應(yīng)的字符串。因?yàn)椴恍枰紤]輸出的順序,所以遍歷完直接輸出中的所有值即可。解法邊界情況判斷如果存在相同組成的元素

題目詳情
Given an array of strings, group anagrams together.
題目要求輸入一個(gè)字符串?dāng)?shù)組,我們要將由同樣字母組成的字符串整理到一起,然后以如下例子中的格式輸出。
不需要關(guān)注輸出的順序,所有的輸入都是小寫。

Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"],
Output:
[
["ate","eat","tea"],
["nat","tan"],
["bat"]
]

思路

本題的思路還是比較容易想的,一個(gè)關(guān)鍵點(diǎn)在于如何判斷兩個(gè)字符串是相同的字符組成的呢?這里我們先將一個(gè)字符串通過toCharArray()方法轉(zhuǎn)為字符數(shù)組,再通過Arrays.sort()對(duì)拆解后的字符數(shù)組重新排序。這樣的話,如果兩個(gè)字符串的組成字符相同,那他們拆解后的字符數(shù)組經(jīng)過排序也一定是相同的。

我們這里用Map來存儲(chǔ),一種元素組成所對(duì)應(yīng)的所有字符串。

map的key就是經(jīng)過排序后的字符數(shù)組所對(duì)應(yīng)的字符串。

因?yàn)椴恍枰紤]輸出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());
    }    

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/71599.html

相關(guān)文章

  • leetcode49 Group Anagrams

    摘要:同時(shí)使用方法將數(shù)組轉(zhuǎn)化為并利用的直接比較兩個(gè)字符串是否相等。通過這種方法效率值提高了不少。 題目要求 Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat], Return: [ [ate, eat,tea], [nat,t...

    sunsmell 評(píng)論0 收藏0
  • [Leetcode] Group Anagrams 變形詞

    摘要:我們將每個(gè)詞排序后,根據(jù)這個(gè)鍵值,找到哈希表中相應(yīng)的列表,并添加進(jìn)去。 Group Anagrams 最新更新請(qǐng)見:https://yanjia.me/zh/2019/01/... Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat...

    Lin_YT 評(píng)論0 收藏0
  • 49. Group Anagrams and 249. Group Shifted Strings

    摘要:也就是同構(gòu)異形體。特點(diǎn)是有相同數(shù)量的組成。素?cái)?shù)可以素?cái)?shù)表。這里使用而不是可以避免最后從導(dǎo)出結(jié)果的時(shí)間。修改了和得到的方法,其他都一樣。但是會(huì)有解不了的地方。還有個(gè)特殊情況就是不是一組。如果數(shù)字編碼出來都是如果用編碼,出現(xiàn)的就是。 49 Group Anagrams Given an array of strings, group anagrams together. For examp...

    cppowboy 評(píng)論0 收藏0
  • 49. Group Anagrams

    摘要:題目解答遇到這種要求一個(gè)的集合,首先想到的就是。那么被的作為把有同樣的以的形式放到里,然后輸出。 題目:Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat], Return: [ [ate, eat,tea], [nat,tan],...

    wangtdgoodluck 評(píng)論0 收藏0
  • [LeetCode] Group Anagram

    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 ...

    kid143 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<