2018华为校招笔试题
校招题1 字符串重排
给定一个原始字符串,统计字符串中各字符出现的次数,并按照ASCII码递增的顺序依次输出。
例:原始字符串为eeefgghh
统计字符串中各字符的出现次数:
e : 3
f : 1
g : 2
h : 2
重排字符串输出为:efgheghe
说明:给定的原字符串只包含数字和字母,大写字母和小写字母存在区别。
样例输入输出:
eeefgghh
efgheghe
这道题其实在平时的C语言中就有过小模块的训练,一般分为字符串中字符的计数和字符串的重排。计数可以通过设置数组,数组的下标为字符的ASCII码,数组存储的数为对应字符的数量,特别要注意下标的查重。但是C++STL提供的关联容器map使得计数和排序变得格外简单。map的key值用于存放字符,value用于存放对应字符的数量。由于map本身的特性,字符已经默认按照ASCII码递增的方式存放了,接下来需要考虑如何重排字符串。我的想法是通过控制迭代器对value的指向是否大于0,来判断对应字符是否应该输出。由于map是键值匹配关系,设置迭代器it,其中it->first是key值,it->second是value值。当it->second>0时,输出it->first,it后移;否则直接it后移。而当输出一轮字符时,it需要回到起始位置,这时的判断条件应该是it==map.end() && n>0,这里的n指的是剩余字符串的长度。
大功告成,直接上代码:
#include<iostream>
#include<cstring>
#include<map>
using namespace std;int main(){string str;map<char,int> s;getline(cin,str);for(int i=0;i<str.length();i++){s[str[i]]++;}int n=str.length();for(map<char,int>::iterator it=s.begin();;){if(it->second>0){cout<<it->first;it->second --;it++;n--;}else{it++;}if(it==s.end() && n>0) it=s.begin();if(n==0) break;}return 0;}
输入输出显示:
如有更好方法,请各位大佬指正。
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_34563932/article/details/79905124
2018华为校招笔试题相关推荐
- 九月十月 阿里 百度 华为 校招笔试题
九月迅雷,华为,阿里巴巴,最新笔试面试十题 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面 ...
- 2018 美团校招笔试题详解
栈必考题目 栈和队列必考题目 不选安全性,可以猜出是ABD 操作系统死锁的题目经常考 这题也是一道必考题 二叉树必考题 第一张抽出红的,第二张抽出黑的,概率是P=1/2* 26/51 第一张抽出黑的, ...
- 数据分析真题日刷 | 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷
今日真题 欢聚时代2018校招笔试题-产品经理/数据分析/游戏运营/市场专员 A卷(来源:牛客网) 题型 客观题:单选5道,不定项选择10道 主观题:问答4道 完成时间 90分钟 牛客网评估难度系数 ...
- 武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题)
武汉光迅科技22校招笔试题(武汉邮科院控股国企上市大厂Python的txt文本处理笔试题) 资源: https://download.csdn.net/download/weixin_53403301 ...
- 数据分析真题日刷 | 网易2018实习生招聘笔试题-数据分析实习生
上周开始实习,博客更新就缓下来了.这是十天前做的套题了,现在拾起来把它再整理整理. 网易数据分析实习生的笔试题,和校招的题目还是有部分重复的,不过难度也不小. 今日真题 网易2018实习生招聘笔试题- ...
- 百度2019校招笔试题
百度2019校招笔试题 1. 探险安排 小明要为n个人计划一次火星的探险,其中一个重要的任务是为每个参与者安排食物.仓库里面有m个能用一天的食物包裹,每个食物包裹有不同的类型ai.每个人每天必须用且只 ...
- 华为硬件笔试 通用器件知识2_华为硬件笔试题(最新版)
<华为硬件笔试题(最新版)>由会员分享,可在线阅读,更多相关<华为硬件笔试题(最新版)(3页珍藏版)>请在人人文库网上搜索. 1.一 选择 13 个题目,没有全部抄下来,涉及的 ...
- 关于python类的继承正确的说法是_2017美团点评的运维岗校招笔试题,测测你会几题?...
原标题:2017美团点评的运维岗校招笔试题,测测你会几题? 1.数据库:以下哪项不是HASH索引的特征? A MySQL不能确定在两个值之间大约有多少行 B 不能使用hash索引来加速ORDER BY ...
- 【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个
要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系. 思路:用一个while循环扫描整个字符串,用pStart字符指针指向整个字符串首地址,如果遇到首部 ...
最新文章
- spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包
- 一站式学习Wireshark(一):Wireshark基本用法
- [H265/HEVC]开源项目
- 【原创】PostgreSQL 增量备份详解以及相关示例
- 学长毕业日记 :本科毕业论文写成博士论文的神操作20170410
- idea中启动RunDashboard
- boost::callable_traits的is_const_member的测试程序
- mysql 连接openfire_修改openfire数据库连接(转)
- 先学python还是ros_ROS入门学习
- DevOps到底是什么意思?
- Part 3 —— 发布 Go Modules
- layer j基本属性
- 通过朋友间推广APP,根本不可行
- 访问网站时出现Service Unavailable的解决方法
- php 将日期转换时间戳,php怎么将日期转换为时间戳?
- IBM Tivoli Management Framework默认设置漏洞
- 豆瓣上的一条关于泰坦尼克的影评1
- 如何读懂和利用你的微生物多样性测序结果?
- 我国会计计算机的发展历程,会计的发展历程是什么
- 邮件经常失败回弹很糟心?一定要知道这几个小知识
热门文章
- 支付宝当面付申请设置教程,支持个人用户
- 流放者柯南联机显示无法链接服务器,《流放者柯南》联机疑难问题解答
- DEEPLIZARD强化学习2----预期收益Expected Return
- Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope
- jvm attach原理分析总结~~~
- Spring Cloud Eureka整合 Seata 实现分布式事务
- 蓝桥杯2015年第六届真题-穿越雷区
- 蓝桥杯javaB组穿越雷区
- 2008最新鼠年春节拜年短信大全
- python下载油管、B站视频的方法