leetcode 刷題之路 22 Anagrams

2021-06-22 23:11:13 字數 757 閱讀 4606

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 這是乙個簡單模擬題,注意六根一樣長和五根一樣長的情況別忘了...