题目: 提取不重复的整数
- 热度指数:4740 时间限制:1秒 空间限制:32768K
- 本题知识点: 数组
题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。
输入描述:
1
输入一个int型整数
输出描述:
1
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入例子:
1
2
9876673
输出例子:
1
37689
在线提交网址:
http://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1?tpId=37&tqId=21232&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
分析:
先将该输入的字符串进行逆序, 使用一个vector存储每一个字符, 存入要求是当vector中没有该字符(使用算算法库中的find()函数). 最后遍历该向量, 输出即可.
已AC代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string str;
vector<char> vect;
while(getline(cin,str))
{
reverse(str.begin(), str.end());
for(int i=0;i<str.length();i++)
{
if(find(vect.begin(),vect.end(), str[i]) == vect.end())
{
vect.push_back(str[i]);
}
}
for(auto it: vect)
cout<<it;
cout<<endl; // 如果用set, set会用一个字符最后一次出现的地方覆盖之前的, 此处不能用
vect.clear();
}
return 0;
}
文档信息
- 本文作者:Bravo Yeung大白技术控
- 本文链接:https://web.geekplayers.com/backfoward-first-appear-solution.html
- 版权声明:本文为博主原创或转载文章,欢迎转载,但转载文章之后必须在文章页面明显位置注明出处,否则保留追究法律责任的权利。如您有任何疑问或者授权方面的协商,请留言。)
Show Disqus Comments