摘要:對(duì)變形詞的查找和歸類(lèi),可以將自然排序的詞根和所有同根變形詞成對(duì)存入哈希表里。然后,返回里大于的字符串?dāng)?shù)組,再存入結(jié)果數(shù)組。注意并不是的結(jié)構(gòu),而是和數(shù)組相同的,所以存到一定要用方法。有幾行容易出錯(cuò)的語(yǔ)句,可以注意一下
Problem
Given an array of strings, return all groups of strings that are anagrams.
NoticeAll inputs will be in lower-case
ExampleGiven ["lint", "intl", "inlt", "code"], return ["lint", "inlt", "intl"].
Given ["ab", "ba", "cd", "dc", "e"], return ["ab", "ba", "cd", "dc"].
Note對(duì)變形詞的查找和歸類(lèi),可以將自然排序的詞根和所有同根變形詞成對(duì)存入哈希表map里。然后,返回map.values()里size大于1的字符串?dāng)?shù)組,再存入結(jié)果數(shù)組res。注意res并不是ArrayList
有幾行容易出錯(cuò)的語(yǔ)句,可以注意一下:
char[] temp = str.toCharArray();
String sortedstr = new String(temp);
for (ArrayList
res.addAll(list);
public class Solution { public Listanagrams(String[] strs) { List res = new ArrayList (); HashMap > map = new HashMap >(); for (String str: strs) { char[] temp = str.toCharArray(); Arrays.sort(temp); String sortedstr = new String(temp); if (map.containsKey(sortedstr)) { ArrayList list = map.get(sortedstr); list.add(str); map.put(sortedstr, list); } else { ArrayList list = new ArrayList (); list.add(str); map.put(sortedstr, list); } } for (ArrayList list: map.values()) { if (list.size() > 1) res.addAll(list); } return res; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/65691.html
Problem Given a string s and a non-empty string p, find all the start indices of ps anagrams in s. Strings consists of lowercase English letters only and the length of both strings s and p will not be...
摘要:建立一個(gè)長(zhǎng)度為的數(shù)組,統(tǒng)計(jì)所有個(gè)字符在出現(xiàn)的次數(shù),然后減去這些字符在中出現(xiàn)的次數(shù)。否則,循環(huán)結(jié)束,說(shuō)明所有字符在和中出現(xiàn)的次數(shù)一致,返回。 Program Write a method anagram(s,t) to decide if two strings are anagrams or not. Example Given s=abcd, t=dcab, return true....
摘要:我們將每個(gè)詞排序后,根據(jù)這個(gè)鍵值,找到哈希表中相應(yīng)的列表,并添加進(jìn)去。 Group Anagrams 最新更新請(qǐng)見(jiàn):https://yanjia.me/zh/2019/01/... Given an array of strings, group anagrams together. For example, given: [eat, tea, tan, ate, nat, bat...
摘要:也就是同構(gòu)異形體。特點(diǎn)是有相同數(shù)量的組成。素?cái)?shù)可以素?cái)?shù)表。這里使用而不是可以避免最后從導(dǎo)出結(jié)果的時(shí)間。修改了和得到的方法,其他都一樣。但是會(huì)有解不了的地方。還有個(gè)特殊情況就是不是一組。如果數(shù)字編碼出來(lái)都是如果用編碼,出現(xiàn)的就是。 49 Group Anagrams Given an array of strings, group anagrams together. For examp...
摘要:解題思路,就是只順序不同但個(gè)數(shù)相同的字符串,那我們就可以利用的思想來(lái)比較每個(gè)字符串中字符出現(xiàn)的個(gè)數(shù)是否相等。 Find All Anagrams in a StringGiven a string s and a non-empty string p, find all the start indices of ps anagrams in s. Strings consists of...
閱讀 2710·2023-04-25 14:59
閱讀 904·2021-11-22 11:59
閱讀 645·2021-11-17 09:33
閱讀 2475·2021-09-27 13:34
閱讀 3909·2021-09-09 11:55
閱讀 2328·2019-08-30 15:44
閱讀 1133·2019-08-30 14:06
閱讀 1933·2019-08-29 16:55