lintcode-171-乱序字符串
生活随笔
收集整理的這篇文章主要介紹了
lintcode-171-乱序字符串
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
171-亂序字符串
給出一個(gè)字符串?dāng)?shù)組S,找到其中所有的亂序字符串(Anagram)。如果一個(gè)字符串是亂序字符串,那么他存在一個(gè)字母集合相同,但順序不同的字符串也在S中。
注意事項(xiàng)
所有的字符串都只包含小寫字母
樣例
對于字符串?dāng)?shù)組 ["lint","intl","inlt","code"]
返回 ["lint","inlt","intl"]
挑戰(zhàn)
What is Anagram?
- Two strings are anagram if they can be the same after change the order of characters.
標(biāo)簽
哈希表 字符串處理 優(yōu)步 臉書
思路
利用排序和哈希表,所有的亂序字符串經(jīng)過排序后會(huì)對應(yīng)同一個(gè)字符串,所以以排序后的字符串為哈希表,記錄此字符串出現(xiàn)次數(shù),若出現(xiàn)不止一次,則為亂序字符串
code
class Solution { public: /*** @param strs: A list of strings* @return: A list of strings*/vector<string> anagrams(vector<string> &strs) {// write your code hereint size = strs.size(), i = 0;if (size <= 0) {return vector<string>();}vector<string> result;map<string, int> hash;for (i = 0; i < size; i++) {string temp = strs[i];sort(temp.begin(), temp.end());hash[temp]++;}for (i = 0; i < size; i++) {string temp = strs[i];sort(temp.begin(), temp.end());if (hash[temp] > 1) {result.push_back(strs[i]);}}return result;} };轉(zhuǎn)載于:https://www.cnblogs.com/libaoquan/p/7277933.html
總結(jié)
以上是生活随笔為你收集整理的lintcode-171-乱序字符串的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mongoDb数据库可视化工具 ---
- 下一篇: SqlServer 导出指定表数据 生成