首页 > 编程 > C++ > 正文

[华为OJ--C++]028-图片整理

2019-11-08 03:25:52
字体:
来源:转载
供稿:网友

题目描述:Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙解决。

输入描述:Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。

输出描述:Lily的所有图片按照从小到大的顺序输出

输入例子:Ihave1nose2hands10fingers

输出例子:0112Iaadeeefghhinnnorsssv

算法实现:

#include<iostream>#include<string>#include<vector>using namespace std;/************************************************  * Author: 赵志乾  * Date: 2017-2-17   * Declaration: All Rigths Reserved !!!  ***********************************************/ int main(){	string instr;	getline(cin,instr);	vector<int>buck(128,0);	for(int i=0;i<instr.length();i++)	{		buck[instr[i]]++;	}	string ret=instr;	int index=0;	for(int i=0;i<128;i++)	{		while(buck[i]>0)		{			ret[index++]=i;			buck[i]--;		}	}		cout<<ret<<endl;	return 0;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选