1084 Broken Keyboard

news/2024/7/7 20:28:53

两个注意的点

1.本题被归到散列专题下,但是由于是逐字符地映射到整形,可以直接把布尔型哈希数组的大小设置为ASCII的数量128,然后直接将字符作为数组下标(如果是字符串,才需要自己写一个哈希函数,将字符串映射到整形,对于本题是不需要的,多此一举使得代码复杂更容易出错)

2.其次是输出的时候,就算是小写字母的键盘坏了,也输出大写字母,那么小写字母什么时候转化成大写字母(即减去32)就很重要。如果在判断字母有无出现之前,就转换,那么就错了。因为a没出现过,A出现过的时候,就会漏掉输出。

以下是AC代码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;const int maxn = 128;
const double eps = 1e-3;int main(){// 7_This_is_a_test// _hs_s_a_es// 7TI char readyStr[maxn] = "";char typeoutStr[maxn] = "";scanf("%s %s",readyStr,typeoutStr);int readyLen = strlen(readyStr);int typeoutLen = strlen(typeoutStr);bool appearHash[maxn] = {false};//有无出现过bool outputHash[maxn] = {false};//有无输出过 --不要小写字母了,前26位一定是false for(int i=0;i<typeoutLen;i++){appearHash[typeoutStr[i]] = true;}for(int i=0;i<readyLen;i++){char nowCh = readyStr[i];if(!appearHash[nowCh]){if(nowCh>='a'&&nowCh<='z')nowCh -= 32;if(!outputHash[nowCh]){printf("%c",nowCh);outputHash[nowCh] = true;}}}return 0;
}


http://lihuaxi.xjx100.cn/news/241344.html

相关文章

浮动元素会引起的问题和你的解决办法

问题&#xff1a; &#xff08;1&#xff09;父元素的高度无法被撑开&#xff0c;影响与父元素同级的元素&#xff08;2&#xff09;与浮动元素同级的非浮动元素会跟随其后&#xff08;3&#xff09;若非第一个元素浮动&#xff0c;则该元素之前的元素也需要浮动&#xff0c;否…

DBA入门之路:由浅入深的总结学习法

有很多DBA朋友在入门时总觉得不得路径&#xff0c;长久的徘徊于门外&#xff0c;而过来人的经验又往往高屋建瓴难以落地&#xff0c;两者总觉得难以对接起来&#xff0c;如何才能解决这个问题呢&#xff1f; 我一直推荐的学习方法&#xff0c;之前在文章 DBA入门之路&#xff1…

java 判断是否为邮箱_Java判断邮箱是否存在 有返回值

public static boolean checkEmail(String email) {if (!email.matches("[\\w\\.\\-]([\\w\\-]\\.)[\\w\\-]")) {return false;}String log "";String host "";String hostName email.split("")[1];// 去掉后面的System.out.printl…

1033 旧键盘打字

1. 非常奇怪&#xff0c;明明都说了用下划线替代空格&#xff0c;但是用scanf读入的时候就会有1个测试点没通过&#xff0c;换成cin.getline就通过了 2.3种情况下对应的哈希表赋值为true。1是上来就赋值&#xff0c;2是对于大写字母把对应小写字母也赋值&#xff0c;这里注意直…

前端编程提高之旅(五)----写给大家看的css书

自实习也有几个月的时间了&#xff0c;以爱奇艺实习为敲门砖。进入了眼下这家公司。假设说当初能进爱奇艺是暂时袭击DIVCSS的话&#xff0c;眼下在这家公司体验到。不论什么技术都必须悉知原理&#xff0c;这样才干做到庖丁解牛。做一个内行的人。css属性和使用方法都摆在那里&…

flex数据绑定

2019独角兽企业重金招聘Python工程师标准>>> 1 、方法绑定 [Bindable(event"myFlagChanged")] private function isEnabled():String { if (myFlag)return true; else return ‘false; } <mx:TextArea id"myTA" text"{isEnabled()}&…

java 接口工程_Java工程师(15)抽象类与接口

抽象类思考下面程序潜在的问题交通工具中定义了4个方法&#xff0c;其中行驶方法内部会依次调用启动、加速、停止方法。由于不同的交通工具&#xff0c;启动的方式差异很大&#xff0c;所以交通工具类中并不实现该方法&#xff0c;而是将其交给子类实现。上述代码的问题&#x…

SmartRoute之大规模消息转发集群实现

为什么80%的码农都做不了架构师&#xff1f;>>> 消息转发的应用场景在现实中的应用非常普遍&#xff0c;我们常用的IM工具也是其中之一&#xff1b;现有很多云平台也提供了这种基础服务&#xff0c;可以让APP更容易集成相关功能而不必投入相应的开发成本。对于实现…