您的位置:首页 > 其它

华为机试-提取不重复的整数

2017-08-19 16:53 302 查看
题目描述

输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

示例1

输入

9876673


输出

37689


怎么确定“不重复”

开始想利用map唯一性,但map内部是有序存储。

因为不超过10位,可以利用长度为10的数组来记录相应的数字是否已经存在。

#include<iostream>
using namespace std;
int main()
{
int n;
int a[10]={0};
while(cin>>n)
{
while(n)
{
if(a[n%10]==0)
{
cout<<n%10;
a[n%10]++;
}
n/=10;
}
}
return 0;


}

相似的题:

字符个数的统计:

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。

输入描述:

输入N个字符,字符在ACSII码范围内。

输出描述:

输出范围在(0~127)字符的个数。

int main()
{
string str;
int a[128]={0};
int count=0;
while(cin>>str)
{
for(int i=0;i<str.size();i++)
{
int t=(int)str[i];
if(t>=0 &&t<=127)
{
if(a[t]==0)
{
a[t]++;
count++;
}
}
}
cout<<count<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: