字母異位詞分組

2022-09-19 16:24:09 字數 1256 閱讀 8994

給你乙個字串陣列,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。

字母異位詞 是由重新排列源單詞的字母得到的乙個新單詞,所有源單詞中的字母通常恰好只用一次

示例 1:

輸入: strs = ["

eat", "

tea", "

tan", "

ate", "

nat", "

bat"

]輸出: [[

"bat

"],["

nat","

tan"],["

ate","

eat","

tea"]]

**

strs = ["

eat", "

tea", "

tan", "

ate", "

nat", "

bat"

]def

recurtion(results,temp,nums):

if len(nums)==2:

results.add(

''.join(temp+[nums[0]]+[nums[1]]))

results.add(

''.join(temp+[nums[1]]+[nums[0]]))

if len(nums)>2:

for it in

range(len(nums)):

recurtion(results,temp+[nums[it]],nums[0:it]+nums[it+1:])

deftest(nums): #實現nums的全排例

results=set()

for it in

range(len(nums)):

temp=

recurtion(results,temp,nums[0:it]+nums[(it)+1:])

return

results

results=list()

for it in

strs:

if set(test(it))&set(strs) not

inresults:

for it in

range(len(results)):

results[it] =list(results[it])

print(results)

輸出:[['tea', 'ate', 'eat'], ['tan', 'nat'], ['bat']]

字母異位詞分組

超出時間限制 依次遍歷陣列中每乙個字串,與list中每乙個templist中的第乙個進行對比,如果長度不相等即為不合格,如果list走到了結尾,字串肯定不包含與list中,新增成為list中新的一員。如果與templist中一樣則為新增為templist中一員 但是超出時間限制 public lis...

字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 思路 遍歷string陣列,對每個string排序,然後以鍵形式存入雜湊表中,雜湊表鍵為排序後的stri...

字母異位詞分組

給定乙個字串陣列,將字母異位片語合在一起。字母異位詞指字母相同,但排列不同的字串。示例 輸入 eat tea tan ate nat bat 輸出 ate eat tea nat tan bat 說明 所有輸入均為小寫字母。不考慮答案輸出的順序。具體解析 class solution return ...