您的位置:首页 > 其它

华为OJ:提取不重复的整数

2017-02-19 20:26 381 查看
题目描述

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

输入描述:

输入一个int型整数

输出描述:

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

输入例子:

9876673

输出例子:

37689

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
int n,i=0;
vector<int>v;
while(cin>>n)
{
v.clear();
while(n)
{
if(find(v.begin(),v.end(),n%10)==v.end())
v.push_back(n%10);
n/=10;
++i;
}
vector<int>::iterator it = v.begin();
while(it!=v.end())
{
cout<<*it;
++it;
}
cout<<endl;
}
return 0;
}

解法2:
#include<iostream>
using namespace std;
int main()
{
int n;
int a[10]={0};
int num=0;
cin>>n ;
while(n)
{
if(a[n%10]==0)
{
a[n%10]++;//这一步是更新,遇到下次相同的数会跳过
num=num*10+n%10;
}
n/=10;
}

cout<<num<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  华为