【PAT甲级真题】- Speech Patterns (25)
题目来源Speech Patterns (25)题目描述点击链接自行查看注意点字母不区分大小写多个答案输出最小字典序的那个思路简介简单的哈希表按照题目的要求搜索到一个单词后就把它放到哈希表当中然后维护出现次数最多的单词和它的数量即可遇到的问题大小写转换c| 大写转小写循环遍历到最后时会直接退出所以还要再检查一下最后的部分是不是一个单词如果是则再进行一次处理循环当中不能判断完不是单词就直接处理还要加一个“不是单词而且也不是空串”的条件不然的话出现连续多个非单词的序列时会对空串进行处理代码/** * https://www.nowcoder.com/pat/5/problem/4120 * 哈希表 */#includebits/stdc.husingnamespacestd;unordered_mapstring,intmp;boolisAlphaNum(charc){if(c9c0)return1;if(czca)return1;if(cZcA){//检查到大写时自动转小写cc| ;return1;}return0;}voidsolve(){string s;getline(cin,s);intlens.size();string tmp,res;intmx0;for(inti0;ilen;i){if(isAlphaNum(s[i])){tmps[i];}elseif(tmp!){//避免处理空串mp[tmp];if(mxmp[tmp]){mxmp[tmp],restmp;}elseif(mxmp[tmp]tmpres){restmp;}tmp;}}//循环结束多检查一次if(tmp!){mp[tmp];if(mxmp[tmp]){mxmp[tmp],restmp;}elseif(mxmp[tmp]tmpres){restmp;}}coutres mx;}intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);//fstream in(in.txt,ios::in);cin.rdbuf(in.rdbuf());intT1;//cinT;while(T--){solve();}return0;}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449068.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!