問題說明: 給出一組k字符串,每個字符串長度爲n。您必須將這組字符輸出到一起。 Anagrams就像是atm - mat,就像kile。將所有字典組合在一起
回答
只需對單詞的字母進行排序即可獲得符合特定字符的簽名。例如,在Python,
sig = ''.join(sorted(word))
,並作出dict
與sig
爲重點,並且與該簽名單詞列表(defaultdict(list)
可以很好地用於本)的值。當然,你可以用任何具有排序能力的語言來完成它,而關聯數組的值可以是列表或向量;-)。
In C#: 'myStrings.ToLookup(str => new string(str.OrderBy(c => c).ToArray()));' – Ani 2010-09-04 15:42:02
@Alex:使用所有這些排序技術將佔用更多空間和時間複雜性。有沒有優雅的解決方案,並不需要將它們整理出來,然後將每一個與其他所有的相匹配。 – 2010-09-04 15:47:02
排序是優雅 – 2010-09-04 16:34:03
- 1. 將詞典值組合在一起
- 2. Oracle SQL,如何將一個字段組合爲一個字段並將所有其他值組合在一起?
- 3. 從另一個詞典(Python)的所有組合創建詞典
- 4. 組合字典
- 5. 在字典中生成所有可能的組合
- 6. 在嵌套字典中生成所有可能的組合
- 7. 獲取鍵/值對的所有組合在Python字典
- 8. 將三個Python字典結合在一起
- 9. 將鏈接連接在一起字典
- 10. 所有可能的基於字典內的值的字典組合
- 11. 在Excel中將所需的行組合在一起
- 12. 通過組合多個其他字典創建一個有組織的字典
- 13. pregsplit - 如何將字母數字字符和「_」組合在一起?
- 14. 將第一個字典鍵與第二個字典值結合起來
- 15. 如何刪除字典組中字典值中某個字符後的所有字典組中所有字典的所有內容?
- 16. 獲取嵌套的Python字典中的所有組合鍵
- 17. 生成給定步數的所有可能的字典組合?
- 18. 拆分python字典以導致所有值的組合
- 19. 我想遍歷字典值的所有可能組合
- 20. 把字典的所有值放在一個數組中
- 21. 將開關語句組合在一起?
- 22. 將ng-if組合在一起
- 23. 如何將這些組合在一起?
- 24. 將多張發票組合在一起
- 25. 將grep和sub組合在一起?
- 26. 將兩種方法組合在一起
- 27. 將兩個陣列組合在一起?
- 28. 將兩個數組合並在一起
- 29. 將代碼組合在一起C++
- 30. 將兩兩類別組合在一起
而你的問題是......或者你的屏幕名稱表明你想如何得到答案? :) – 2010-09-04 15:16:51
參考這個http://stackoverflow.com/questions/396005/word-anagram-hashing-algorithm – aeh 2010-09-04 16:29:04
順便說一句,作業或面試的問題?如果你的標籤適當,你總是可以讓其他人更容易地提供最相關的幫助,包括form和_ content_) – 2010-09-04 18:32:00