LeetCode No 49字母異位詞分組

2021-10-01 03:49:33 字數 614 閱讀 4474

在美版leetcode上看到大神的思路,用質數表示26個字母,把字串的各個字母相乘,這樣可保證字母異位詞的乘積必定是相等的。其餘步驟就是用map儲存

注意這裡直接將list 作為值放入到map中,後續用add方法,更新map,此外注意更新map的寫法以及遍歷map值的寫法

beat 99.52% 98.98%

class

solution

; map

> map=

newhashmap

<

>()

;for

(int i=

0;i(map.

containskey

(sum)

)else

} list

> result=

newarraylist

<

>()

;for

(map.entry

> entry:map.

entryset()

)return result;

}}```

LeetCode No 49 字母異味詞分組

根據題目可以看到結果返回的是乙個list巢狀list,又是要求 字母相同,位置不同即可為一組 根據題意可以利用map的key的唯一性,將字串轉為字元陣列並進行排序。加入map 排序後的字串數再轉為字串,若其存在於key,則把key對應的list取出,並把初始字串新增進list。然後把list放回ma...

49 字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。思路 這個題的思路非常清晰,遍歷字串陣列,對其中每乙個...

49 字母異位詞分組

arrays.sort排序的時間複雜度為o slogs 外面還有n次迴圈,總共為nslogs,s為字串的長度。空間複雜度為o ns hashmap儲存了每個字串 1 我對arraylist操作不熟,還有arrays.sort 得趕緊學習了 2 乙個字串會有原始字元,所以只要知道原始字元,原始字元下一...