题目简述

旧键盘上有几个键损坏了——在输入一段文字时,对应的字符不会出现。现在给出应输入的一段文字以及实际被输入的文字,请列出那些肯定坏掉的键。

输入

在两行中分别给出应该输入的文字以及实际被输入的文字。每段文字是不超过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;
}
  1. 用了一个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 旧键盘相关推荐

  1. B1029/A1084 旧键盘——测试点4

    自己写的代码,测试点4过不了,因为担心下次犯同样的错误,所以找了半天终于发现错误点了! 来看下题目描述: 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字. ...

  2. PAT乙级(1033 旧键盘打字)

    PAT乙级 1033旧键盘打字 题目描述 解题代码 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入的文字.其中对应英文字母的坏键以大写给出:每段文字是不超过 10​5​​ 个字符的串. ...

  3. pat 乙级 1033 旧键盘打字(C++)

    题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应 ...

  4. pat 乙级 1029 旧键盘(C++)

    题目 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字 ...

  5. PAT Basic 1033. 旧键盘打字(20)(C语言实现)

    我的PAT系列文章更新重心已移至Github,欢迎来看PAT题解的小伙伴请到Github Pages浏览最新内容.此处文章目前已更新至与Github Pages同步.欢迎star我的repo. 题目 ...

  6. pat 乙级1033 旧键盘打字(20)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字. 以及坏掉的那些键,打出的结果文字会是怎样?输入格式:输入在2行中分别给出坏掉的那些键.以及应该输入的文字 ...

  7. [PAT乙级]1033 旧键盘打字(getline()读入)

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...

  8. [PAT乙级]1029 旧键盘

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...

  9. PAT乙级 1029 旧键盘

    旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 行中分别给出应该输入的文字.以及 ...

最新文章

  1. Java IO流之对象流
  2. http接口测试工具——RESTClient
  3. 神策分析 1.10 推数据全景化,跨部门联动释放共享价值
  4. Android MediaPlayer
  5. Protocol Buffers的应用与分析
  6. java 取dataset_Java LineDataSet.getYVals方法代码示例
  7. 草稿 12月第2周 排课
  8. 前端_JavaScript
  9. fullPage.js给网站加上全屏幻灯片的展示效果
  10. 手把手教你搭建LyncServer2013之部署边缘服务器(七)
  11. 冲突域和广播域区别,集线器、交换机和路由器对比
  12. 来自网页的消息服务器不能创建对象,电脑IE浏览器提示“Automation服务器不能创建对象”怎么办...
  13. linux 词霸,Linux下类似金山词霸的翻译软件
  14. 【计算机网络】3-20假定1km长的CSMA/CD网络的数据率为1Gbit/s。设信号在网络上的传播速率为200000 km/s。求能够使用此协议的最短帧长。
  15. 实现类似于目录的虚线填充样式
  16. (转)国内外三个不同领域巨头分享的Redis实战经验及使用场景
  17. 红米手机停在机器人这里_红米停在mi处理方法
  18. Python爬虫数据写入MongoDB
  19. Java高级架构师之路核心知识整理
  20. 如何查看Android keystore 签名信息

热门文章

  1. 三星emcp型号详解_eMCP--eMMC,嵌入式存储应用解析【手机篇】
  2. Ubuntu 测试两台电脑之间的网速
  3. 2022车工(高级)考试试题及在线模拟考试
  4. 物联网卡没网怎么处理
  5. 编译器错误消息: CS1617: 选项“6”对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default
  6. 博勒飞粘度计物质粘度的测定原理、方法
  7. 故事里,读着别人的故事
  8. 办公技巧:6个高质量在线PPT模板网站
  9. Android如何实现自定义控件
  10. UI教你怎么制作PSD图