首页 > 学院 > 开发设计 > 正文

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

2019-11-08 02:16:30
字体:
来源:转载
供稿:网友

题目描述 输入一个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;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表