given an array of strings, return all groups of strings that are anagrams.
note: all inputs will be in lower-case.
給出一組字串,要求返回是anagram(回文構詞法)的字元,回文構詞法的特徵是單詞裡字元的個數和種類一樣,只是字元的順序有變化,例如"ran","anr","nar"這種樣式的字串。
這道題目我的做法是先遍歷字串陣列strs,對每乙個字串進行排序,回文構詞法構造的單詞排序後的結果是相同的,因此可以構造乙個map>的資料結構msv,string位置對應排序後的字串,vector用來儲存當前遍歷的下標。對字串陣列遍歷完成後,遍歷得到的msv,判斷msv中每個元素的vector部分的大小,若大於1,則說明字串陣列strs中的有多個字串的排序結果相同,根據vector儲存的下標值取出strs中的字串儲存到返回變數vs中即可。
測試通過程式:
public class solution
arraylistanagrams = map.get(key);
anagrams.add(str);
}arraylistresult = new arraylist();
for(string key : map.keyset())
}return result;
}public string sortchars(string s)
}
leetcode刷題筆記22
面試題30.包含min函式的棧 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的 min 函式在該棧中,呼叫 min push 及 pop 的時間複雜度都是 o 1 class minstack def init self initialize your data structure h...
牛課練習賽22 A題
給6個火柴棍,問能不能拼成 熊 或者 象 熊 4根棍子長度一樣,另外2根棍子長度不一樣 象 4根棍子長度一樣,另外2根棍子長度一樣。如果可以拼出熊,輸出 bear 如果可以拼出象,輸出 elephant 如果都不可以拼出,輸出 hernia 這是乙個簡單模擬題,注意六根一樣長和五根一樣長的情況別忘了...
牛課練習賽22 A題
給6個火柴棍,問能不能拼成 熊 或者 象 熊 4根棍子長度一樣,另外2根棍子長度不一樣 象 4根棍子長度一樣,另外2根棍子長度一樣。如果可以拼出熊,輸出 bear 如果可以拼出象,輸出 elephant 如果都不可以拼出,輸出 hernia 這是乙個簡單模擬題,注意六根一樣長和五根一樣長的情況別忘了...