华为机试在线训练-牛客网(6)提取不重复的整数
2017-01-23 22:11
363 查看
题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
输入例子:
9876673
输出例子:
37689
作为机试题追求方便,尽量使用STL库来解决,因此我的思路如下:
此题主要是反转和去重两个问题,为简单转换为字符串处理,前者调用reverse()函数处理,后者调用find()实现去重:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string inputStr,outputStr;
cin>>inputStr;
reverse(inputStr.begin(),inputStr.end());
for(auto e :inputStr){
if(find(outputStr.begin(),outputStr.end(),e)==outputStr.end())
outputStr.push_back(e);
}
cout<<outputStr;
return 0;
}
这题牛客上貌似没见到更简洁的做法(C++),主要是在去重上方法各异
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 如何组织构建多文件 C 语言程序(二)
- 关于指针的一些事情
- 如何写好 C main 函数
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 华为路由器密码恢复
- 华为交换机的后缀详解
- Lua中调用C++函数示例
- Lua和C语言的交互详解
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题