lintcode 亂序字串

2021-08-19 21:08:39 字數 823 閱讀 3296

描述:

給出乙個字串陣列s,找到其中所有的亂序字串(anagram)。如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。

實現:

public class solution

hashmaph=new hashmap<>();

for(int i=0; i個人感覺這個題目,lintcode給出的測試用例有點問題,因為按照題幹中給出的亂序字串的定義(字符集相同但順序不同),兩個相同的字串不是亂序字串,比如字串陣列["abc","abc","bcd","dcb"],最後應該只輸出["bcd","dcb"],但是lintcode的測試用例裡面把"abc"也作為亂序字串了。上面的**是能夠完成這個功能的,下面在此基礎上修改的**可以消除這個情況:

public class anagrams

boolean flag=false;

sets=new hashset<>();//消除相同的字串

hashmaphcount=new hashmap<>();//記錄相同的字串出現的次數

for(int i=0; ih=new hashmap<>();

for(string str: s){

string st=mysort(str);

if(h.get(st)!=null){

for(int i=0; i測試了幾個樣例,對於["abc","abc","bcd","dcb","bcd"],輸出["dcb", "bcd", "bcd"],能夠過濾掉重複的非亂序字串,但是不會過濾掉重複的亂序字串。

lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。注意事項 所有的字串都只包含小寫字母 樣例 對於字串陣列 lint intl inlt code 返回 lint inlt intl 一,使用hashmap,亂序...

lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。樣例 樣例1 輸入 lint intl inlt code 輸出 lint inlt intl 樣例 2 輸入 ab ba cd dc e 輸出 ab ba cd...

lintcode 171 亂序字串

給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。注意事項 所有的字串都只包含小寫字母 樣例對於字串陣列 lint intl inlt code 返回 lint inlt intl 挑戰what is anagr...