Map的應用(反片語,UVA156)

2021-08-22 16:22:48 字數 1021 閱讀 5249

5.map的應用

使用count(),返回的是被查詢元素的個數。如果有,返回1;否則,返回0。注意,map中不存在相同元素,所以返回值只能是1或0。

使用find,返回的是被查詢元素的位置,沒有則返回map.end()。

解題思路:每輸入乙個單詞先存入vector,歸一化並排序後對應map的值++,全部處理完後再從vector中依次取出,歸一化判斷map的值是否為1,非1則有重複,是1表示只出現過一次,存入新的vector。對新的vector排序,最後依次輸出即可。

題意:輸入一些單詞,找出所有滿足如下條件的單詞:該單詞不能通過字母重排,得到輸入文字的另外乙個單詞。在判斷是否滿足條件時,字母不分大小寫,但在輸出時應保留輸入中的大小寫,按字典序進行排序。

做題思路:先輸入單詞,(利用vector),先把單詞中的大寫全部轉化成小寫,然後把單詞中的每個字母都排序一遍,然後放進裡進行統計。如果只出現一次就輸出。

ladder came tape soon leader acme ride lone dreis peat

scale orb  eye  rides dealer  note derail laces  dried

noel dire disk mace rob dries

disk

note

derail

dried

eyeladder

soon

注意注釋部分的提示

#include#include#include#include#include#includeusing namespace std;

mapa;

vectorb;

string normalize(string s) //起到大小寫統一以及排序的作用。

vectorans;

for(int i=0;isort(ans.begin(),ans.end());

for(int i=0;ireturn 0;

}

反片語 uva 156(map的使用

反片語 輸入一些單詞 以 為結束標誌 找出所有滿足如下條件的單詞 該單詞不能通過字母的重排,得到輸入文字中的另乙個單詞。在判斷是否滿足條件是不分大小寫,但是在輸出時應保留輸入時的大小寫,按字典序進行排列 所有大寫字母在所有小寫字母前面 ladder came tape soon leader acm...

例題5 4 反片語 UVa156

演算法 競賽入門經典 第2版 第5章c 與stl入門 例 題5 4反片語 uva156 感悟。2 結合書中中文,英文原題能很快讀懂。3 在搭建輸入輸出框架中,對string進一步熟悉,該英文原題pdf檔案中無法複製輸入資料,網上找了一通,保留如下 ladder came tape soon lead...

STL map 關於反片語演算法的理解

題目 輸入一些單詞,找出所有滿足如下條件的單詞 該單詞不能通過字母重排,得到輸入文字中的另外乙個單詞。在判斷是否滿足條件時,字母不分大小寫,但在輸出時應保留輸入中的大小寫,按字典序進行排列 所有的大寫字母在所有的小寫字母的前面 輸入樣例 ladder came tape soon leader ac...