map应用:反片语
来源:互联网 发布:最好的seo课程 编辑:程序博客网 时间:2024/05/22 03:05
map应用:反片语
map就是从键(key)到值(value)的映射。因为重载了[]运算符,map像是数组的高级版。例如,我们可以用一个map
例题:
输入一段文本,找出所有满足条件的单词,需满足的条件是该单词不能通过字母重拍得到文本中的另外一个单词。在判断时,字母不区分大小写,但在输出时应保留输入中的大小写,按照字典序进行排列输出(所有大写字母在所有小写字母的前面)
比如一段文本中出现God和dog,这两个单词可以通过字母重排得到,那么就不输出。
程序代码:
#include<iostream>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;map<string,int> cnt;vector<string> words;string repr(const string& s);int main(){ int n=0; string s; while(cin>>s) { if(s[0]=='#') break; words.push_back(s); string r = repr(s); if(!cnt.count(r)) cnt[r]=0; cnt[r]++; } vector<string>ans; for(int i=0;i<words.size();i++) if(cnt[repr(words[i])]==1) ans.push_back(words[i]); sort(ans.begin(),ans.end()); for(int i=0;i<ans.size();i++) cout<<ans[i]<<endl; return 0;}string repr(const string& s)//将单词s进行“标准化”,很关键的步骤。{ string ans =s; for(int i=0;i<ans.length();i++) ans[i]=tolower(ans[i]); sort(ans.begin(),ans.end()); return ans;}
0 0
- map应用:反片语
- 【map】UVa 156 反片语;
- 反片语(map)-uva 10815
- 反片语 (using std::map) UVA
- uva156(标准化+map)反片语
- 经典第五章 例 5-4 UVA 156 Ananagrams(反片语)【map的应用】
- 反片语
- 反片语
- UVA156-反片语
- UVA 156 反片语
- UVa 156 反片语
- uva156反片语
- 反片语(Ananagrams)
- UVA-156 反片语
- uvaoj-156:反片语
- 反片语 Ananagrams,UVa156
- UVa156 反片语
- uva156反片语
- 进入OS前的两步之PendSV(任务切换)
- OpenCL笔记
- Linux - C数据库编程(预习内容四)
- 嵌入式系统学习(九)-用过内核驱动操作GPIO
- Struts2 formBean传值
- map应用:反片语
- STL(七):stack 与 queue
- 嵌入式Linux移植之initramfs
- linux如何用fdisk命令分区
- 拓扑排序 - Topological Sort
- tomcat热部署实现方法1
- TCP/IP概述
- Android 媒体开发:AVI视频格式解析
- CentOS6.5编译安装Nginx的方法