题目链接:1084. Broken Keyboard (20)
#include<bits/stdc++.h>
const int maxn =100100;
using namespace std;
int len1,len2;
char change(char t){
if(t>='a'&&t<='z')t-=32;
return t;
}
int a[200];
int main(){
string s1,s2;
cin>>s1>>s2;
len1=s1.length();
len2=s2.length();
for(int i=0;i<len1;i++)s1[i]=change(s1[i]);
for(int i=0;i<len2;i++)s2[i]=change(s2[i]);
for(int i=0;i<len2;i++){
a[s2[i]]++;
}
for(int i=0;i<len1;i++){
if(a[s1[i]]==0)cout<<s1[i];
a[s1[i]]++;
}
cout<<endl;
return 0;
}
本文提供了一个针对编程竞赛题目“BrokenKeyboard”的解决方案。该方案通过预处理输入字符串并使用哈希表来过滤无法输入的字符,最终输出所有可以被正常输入的字符。此方法有效地解决了键盘部分按键失灵情况下字符串的过滤问题。
1543

被折叠的 条评论
为什么被折叠?



