pat B1029/A1084 旧键盘
题目简述
旧键盘上有几个键损坏了——在输入一段文字时,对应的字符不会出现。现在给出应输入的一段文字以及实际被输入的文字,请列出那些肯定坏掉的键。
输入
在两行中分别给出应该输入的文字以及实际被输入的文字。每段文字是不超过80个字符的串,由字母AZ(包括大小写)、数字09以及下划线"_"(代表空格)组成。题目保证两个字符串均非空。
77_I_Love_You
__ve_u
输出
按照发现顺序,在一行中输入坏掉的键。其中英文字母只输出大写,每个坏键只输出1次。题目中保证至少有一个坏键。
7ILOY
代码
1.散列
用一个HashTable[128] 表示字符是否已经输出
#include<iostream>
#include<string>
using namespace std;
int main(){string a,b;bool HashTable[128] = {false};cin>>a;cin>>b;int len1 = a.size();int len2 = b.size();int l=0,m=0;for(int i=0;i<len1;i++){char c1,c2;for(l=0;l<len2;l++){c1=a[i];c2=b[l];if(c1<='z' && c1 >='a') c1 -= 32;if(c2<='z' && c2 >='a') c2 -= 32;if(c1==c2) break;}if( l==len2 && HashTable[c1] == false){printf("%c",c1);HashTable[c1] = true;}}return 0;
}
- 用了一个set,采用了它 自动去重的特性;
第一层 i 循环第一个字符串s1,l 来表示第二个字符串s2的下标。
当s1[i]==s2[l],那么直接过,i++,l++。
否则把s1[i]加到set里,看set的长度有没有变化,若有,直接输出;否则,直接过;l不动。
#include<iostream>
#include<set>
#include<string>
using namespace std;
int main(){string a,b;set<char> ss;cin>>a;cin>>b;int len1 = a.size();int len2 = b.size();int l=0,m=0; for(int i=0;i<len1;i++){if(a[i]!=b[l]){if(a[i]<='z' && a[i] >='a') a[i] -= 32;ss.insert(a[i]);if(ss.size()!=m){cout<<a[i];}m=ss.size(); //更新长度 }else{ //一样的话同时往前走l++;}}return 0;
}
pat B1029/A1084 旧键盘相关推荐
- B1029/A1084 旧键盘——测试点4
自己写的代码,测试点4过不了,因为担心下次犯同样的错误,所以找了半天终于发现错误点了! 来看下题目描述: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字. ...
- PAT乙级(1033 旧键盘打字)
PAT乙级 1033旧键盘打字 题目描述 解题代码 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入的文字.其中对应英文字母的坏键以大写给出:每段文字是不超过 105 个字符的串. ...
- pat 乙级 1033 旧键盘打字(C++)
题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应 ...
- pat 乙级 1029 旧键盘(C++)
题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字 ...
- PAT Basic 1033. 旧键盘打字(20)(C语言实现)
我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...
- pat 乙级1033 旧键盘打字(20)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字. 以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键.以及应该输入的文字 ...
- [PAT乙级]1033 旧键盘打字(getline()读入)
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...
- [PAT乙级]1029 旧键盘
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...
- PAT乙级 1029 旧键盘
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...
最新文章
- Java IO流之对象流
- http接口测试工具——RESTClient
- 神策分析 1.10 推数据全景化,跨部门联动释放共享价值
- Android MediaPlayer
- Protocol Buffers的应用与分析
- java 取dataset_Java LineDataSet.getYVals方法代码示例
- 草稿 12月第2周 排课
- 前端_JavaScript
- fullPage.js给网站加上全屏幻灯片的展示效果
- 手把手教你搭建LyncServer2013之部署边缘服务器(七)
- 冲突域和广播域区别,集线器、交换机和路由器对比
- 来自网页的消息服务器不能创建对象,电脑IE浏览器提示“Automation服务器不能创建对象”怎么办...
- linux 词霸,Linux下类似金山词霸的翻译软件
- 【计算机网络】3-20假定1km长的CSMA/CD网络的数据率为1Gbit/s。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长。
- 实现类似于目录的虚线填充样式
- (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 红米手机停在机器人这里_红米停在mi处理方法
- Python爬虫数据写入MongoDB
- Java高级架构师之路核心知识整理
- 如何查看Android keystore 签名信息