吉⽐特校招笔试题字母数字混合排序
校招时部分企业笔试将禁⽌编程题跳出页⾯,为提前适应,练习时请使⽤在线⾃测,⽽⾮本地IDE。
题⽬描述
输⼊⼀串字符,包含数字[0-9]和⼩写字母[a-z],要求按数字从⼩到⼤、字母从a到z排序,并且所有数字排在字母后⾯
输⼊描述:
⼀串字符
输出描述:
按规则排序的⼀串字符
⽰例1
输⼊
a31bz
输出
abz13
说明
这⼀道题⽬,使⽤桶排序,时间复杂度为O(N),空间复杂为O(N)
#include
#include
#include
usingnamespacestd;
intmain()
{
stringstr,res;
cin>>str;
intflag[100];
memt(flag,0,sizeof(flag));
for(autoc:str){
if(isdigit(c))flag[c-'0']++;
elflag[c-'a'+10]++;
}
for(inti=10;i<100;i++){
while(flag[i]){
_back('a'+i-10);
flag[i]--;
}
}
for(inti=0;i<10;i++){
while(flag[i]){
_back('0'+i);
flag[i]--;
}
}
cout<
}
本文发布于:2023-03-10 21:54:23,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/e/action/ShowInfo.php?classid=88&id=7662
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:吉比特校招.doc
本文 PDF 下载地址:吉比特校招.pdf
| 留言与评论(共有 0 条评论) |