給你乙個字串陣列,請你將 字母異位詞 組合在一起。可以按任意順序返回結果列表。
字母異位詞 是由重新排列源單詞的字母得到的乙個新單詞,所有源單詞中的字母通常恰好只用一次
示例 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 ...