4月30天leetcode訓練 Day6

2021-10-05 15:17:04 字數 1311 閱讀 3901

given an array of strings, group anagrams together.

給乙個由字串構成的陣列,讓我們把裡面字串由相同的字元組合起來的字串分成一組。

input: [

"eat", "tea", "tan", "ate", "nat", "bat"

],output:[[

"ate","eat","tea"

], [

"nat","tan"

], [

"bat"]]

note:

all inputs will be in lowercase.

the order of your output does not matter.

看到這個題就簡單直觀的解法就是遍歷陣列,遇到乙個字串後我們將這個字串排序,然後用乙個字典儲存由相同字元組成的字串的陣列。

整個過程就是遍歷陣列元素,排序,去字典中查詢有無這個值,沒有就加上包含這個元素的陣列,有就在這個陣列中新增這個元素。最後返回這個字典的值組成的陣列。

python中沒有str的排序函式好像,所以先轉換為list,然後再排序,再轉換為str查詢字典。

class

solution

:def

groupanagrams

(self, strs: list[

str])-

> list[list[

str]]:

result_dict =

for i in strs:

temp_list =

list

(i) temp_list.sort(

) temp_list =

''.join(temp_list)

if temp_list in result_dict:

result_dict[temp_list]

else

: result_dict[temp_list]

=[i]

print

(result_dict)

result =

for i in result_dict:

)print

(result)

return result

終於補完了,等下午的最後一題發布這個四月挑戰就算完成了,雖然前期因為種種原因沒能做到每天一道跟上進度,但好歹在最後這幾天都補上了,這個四月挑戰自我感覺對我的提公升還是挺大的,下乙個月就算沒有這種挑戰了也會盡量每天總結一道題。

4月30天leetcode訓練 Day15

給定乙個由n個整數組成的陣列,其中n 1,則返回乙個陣列輸出,使得output i 等於除nums i 之外的所有nums元素的乘積。example input 1,2,3,4 output 24,12,8,6 不考慮時間複雜度的話,通過遞迴暴力破解,設定遞迴輔助函式,傳入陣列和開始,結束位置。開始...

4月30天leetcode訓練 Day16

給了乙個2維陣列,裡面是由1和0組成。規則是這樣的,1代表陸地,0代表海水,讓我們尋找小島,那小島肯定有乙個特點,被水隔離,連續的陸地組成一塊小島,而本題中連續的定義為上下左右相鄰 不包括對角線 基於這樣的規則讓我們找尋有幾個島。example 1 input 11110 11010 11000 0...

4月30天leetcode訓練 Day27

given a 2d binary matrix filled with 0 s and 1 s,find the largest square containing only 1 s and return its area.從乙個二維矩陣中找出最大的正方形面積 正方形裡面都是1才合法 input ...