中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

阿克蘇網(wǎng)站建設(shè)百度權(quán)重5的網(wǎng)站能賣多少錢

阿克蘇網(wǎng)站建設(shè),百度權(quán)重5的網(wǎng)站能賣多少錢,免費(fèi)源碼大全無用下載,如何安裝網(wǎng)站模板文件2.字母異位詞分組 題目描述: 給你一個字符串?dāng)?shù)組,請你將 字母異位詞 組合在一起。可以按任意順序返回結(jié)果列表。 字母異位詞 是由重新排列源單詞的所有字母得到的一個新單詞。 示例 1: 輸入: strs ["eat", "tea", "tan&q…

2.字母異位詞分組

題目描述:

給你一個字符串?dāng)?shù)組,請你將?字母異位詞?組合在一起??梢园慈我忭樞蚍祷亟Y(jié)果列表。

字母異位詞?是由重新排列源單詞的所有字母得到的一個新單詞。

示例 1:

輸入: strs = 
["eat", "tea", "tan", "ate", "nat", "bat"]
輸出:
 [["bat"],["nat","tan"],["ate","eat","tea"]]

給定的是vector<string>類型的容器,輸出的是vector<vector<string>>類型的容器。

class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {unordered_map<string,vector<string>> anagrams;for(const string& str:strs){string sortedstr = str;sort(sortedstr.begin(),sortedstr.end());anagrams[sortedstr].emplace_back(str);}vector<vector<string>> result;for(const auto&pair:anagrams){result.emplace_back(pair.second);}return result;
}
};

實(shí)現(xiàn)邏輯:使用for循環(huán)遍歷strs,對每一個strs[i]對應(yīng)的單詞進(jìn)行sort排序,如tea和eat都會被排序?yàn)閍et,對每個單詞排序后的結(jié)果作為鍵,如果該鍵不存在于哈希表中,則創(chuàng)建新元素<key,value>,如果鍵已存在,則將新單詞加入鍵所對應(yīng)的vector中,比如開始遍歷實(shí)例中給的vector容器時,eat和tea經(jīng)過排序后,都對應(yīng)aet這個鍵,遍歷eat時,哈希表中開始創(chuàng)建了<aet,{eat}>,當(dāng)遍歷到tea時,哈希表就成了<aet,{eat,tea}>。而后再對遍歷完所有strs后的哈希表進(jìn)行遍歷,將其所有元素中存在的值都加入result中,最后result就會成為[["bat"],["nat","tan"],["ate","eat","tea"]]的形式,那么只需返回result就行。

代碼解釋

unordered_map<string,vector<string>> anagrams;創(chuàng)建string,vector<string>類型的哈希表anagrams;

for(const string& str:strs)使用for循環(huán)對strs中的每一個元素都取別名,const string& str:strs是C++中對容器元素進(jìn)行遍歷的代碼。

sort(sortedstr.begin(),sortedstr.end());使用sort對sortedstr進(jìn)行排序,這里是把sortedstr也當(dāng)作了一個容器,不過是char類型,按照begin()和end()迭代器作為sort的起始和終結(jié)條件。如果sortedstr對應(yīng)eat,排序后,它就成為aet。

anagrams[sortedstr].emplace_back(str);,按照鍵:sortedstr往哈希表中插入元素str,其實(shí)此時sortedstr也就是str所對應(yīng)的排序好后的鍵,string sortedstr = str;這也就是為什么要加這一句代碼。

----anagrams[sortedstr]:首先嘗試在 anagrams 哈希表中查找鍵為 sortedstr 的元素。如果找到,則返回該鍵對應(yīng)的 vector<string>;如果沒有找到,則會創(chuàng)建一個新的 vector<string> 并將其與 sortedstr 鍵關(guān)聯(lián)起來,然后返回這個新的向量。

----.emplace_back(str):這是在向由 anagrams[sortedstr] 返回的向量中添加元素的一種方式。emplace_back() 方法與push_back() 方法類似,都是向容器末尾添加元素。但是,emplace_back() 更加高效,因?yàn)樗窃谌萜鞯哪┪仓苯訕?gòu)造對象,而不是先創(chuàng)建對象再復(fù)制或移動它進(jìn)入容器。這意味著如果 emplace_back() 的參數(shù)正好匹配要插入元素的構(gòu)造函數(shù)參數(shù),則可以直接在容器的存儲空間上進(jìn)行構(gòu)造,避免不必要的拷貝或移動操作。

unordered_map<string,vector<string>>? 類型的容器 anagrams。這里的pair?實(shí)際上代表 anagrams 中的每一個鍵值對(即每一個元素),其中 pair.first 對應(yīng)鍵(在這個場景下是排序后的字符串),而 pair.second 對應(yīng)值(即一組異位詞組成的 vector<string>)。比如經(jīng)過前面的代碼,那么anagrams中元素的存在形式可能是這樣的?[{abt,["bat"]},{ant,["nat","tan"]},{aet,["ate","eat","tea"]}],那么每一次遍歷pair.second就對應(yīng)著["bat"]、["nat","tan"]、["ate","eat","tea"]這幾個容器。,而后將其插入至result中。

最后將result返回即可。

http://www.risenshineclean.com/news/21924.html

相關(guān)文章:

  • 做網(wǎng)站用虛擬服務(wù)器可以嗎免費(fèi)自助建站平臺
  • wordpress 內(nèi)容采集重慶seo主管
  • 碭山做網(wǎng)站2345瀏覽器下載安裝
  • 天邁裝飾網(wǎng)站建設(shè)項(xiàng)目開網(wǎng)店如何運(yùn)營和推廣
  • 網(wǎng)站備案添加APP備案怎樣做推廣是免費(fèi)的
  • 滁州做網(wǎng)站公司南通百度網(wǎng)站快速優(yōu)化
  • 陽江市建設(shè)路龍源學(xué)校網(wǎng)站搜狗站長工具平臺
  • 陜西企業(yè)電腦網(wǎng)站制作aso安卓優(yōu)化公司
  • 欽州建站哪家好廣告投放
  • 做網(wǎng)站的崗位叫什么網(wǎng)絡(luò)推廣內(nèi)容
  • 外貿(mào)網(wǎng)站平臺b2bseo網(wǎng)站推廣工具
  • 重慶網(wǎng)站公司某網(wǎng)站seo診斷分析
  • wordpress微信分享縮微圖seo搜索引擎招聘
  • 怎么做國外賭球網(wǎng)站代理北京seo排名收費(fèi)
  • 好的手機(jī)端網(wǎng)站模板下載軟件杭州網(wǎng)站建設(shè)
  • 北京網(wǎng)站開發(fā)哪家專業(yè)網(wǎng)站統(tǒng)計哪個好用
  • 效果圖網(wǎng)站推薦大全seo推廣怎么做
  • 提供網(wǎng)站建設(shè)世界新聞最新消息
  • 泰安服務(wù)與政府的網(wǎng)絡(luò)公司seo網(wǎng)絡(luò)推廣招聘
  • 深圳網(wǎng)站建設(shè)哪家專業(yè)廣州網(wǎng)絡(luò)推廣平臺
  • 如何做網(wǎng)站維護(hù)北京谷歌seo
  • 辦公室裝飾seo是什么意思 為什么要做seo
  • 網(wǎng)站首頁策劃怎么做免費(fèi)平臺推廣
  • 南孚電池網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷產(chǎn)品策略的內(nèi)容
  • 小白怎么做網(wǎng)站東莞seo網(wǎng)站管理
  • 做微商去哪個網(wǎng)站推廣河南省鄭州市金水區(qū)
  • 個人主機(jī)做網(wǎng)站一鍵關(guān)鍵詞優(yōu)化
  • pc網(wǎng)站設(shè)計哪家公司好中山網(wǎng)站建設(shè)公司
  • 西寧做網(wǎng)站是什么一句話讓客戶主動找你
  • 建設(shè)工程發(fā)布公告的網(wǎng)站人力資源管理師