牛客网_华为机试_009_提取不重复的整数
2017-07-06 16:32
267 查看
题目描述
输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。输入描述:
输入一个int型整数
输出描述:
按照从右向左的阅读顺序,返回一个不含重复数字的新的整数
示例1
输入
9876673
输出
37689
问题地址:https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1?tpId=37&tqId=21232&tPage=1&rp=&ru=/ta/huawei&qru=/ta/huawei/question-ranking
思路:维护一个数组或者vector长度为10,下标0~9代表取得数字,值代表是否已经输出过
#include <iostream> #include <vector> #include <string> using namespace std; int main() { string num; while (cin >> num) { //用于记录0~9是否出现 vector<bool> count(10, false); for (int i = num.size() - 1; i >= 0; i--) { int n = num[i] - '0'; //char转数字 if (!count ) cout << n; count = true; } cout << endl; } return 0; }
思路二:严格按照题目要求输入int输出int
#include <iostream> using namespace std; int main() { int num = 0; while (cin >> num) { //标记数组 int flag[10] = { 0 }; int result = 0; while (num) { int n = num % 10; if (!flag ) { flag = 1; //每次result*10,加上n result = result * 10 + n; } num /= 10; } cout << result << endl; } return 0; }
相关文章推荐
- 华为机试在线训练-牛客网(6)提取不重复的整数
- 【华为机试】提取不重复的整数
- 牛客网-华为在线编程-009-提取不重复的整数(字符串)
- 【华为OJ】【009-提取不重复的整数】
- 华为机试-提取不重复的整数
- 华为机试(取近似值,合并表,提取不重复整数,字符个数统计)Java实现
- 华为机试——提取不重复的整数
- 牛客网–华为机试在线训练9:提取不重复的数
- 华为机试:字符个数统计、提取不重复的整数
- 【华为机试】提取不重复的整数
- Java - 华为机试训练 - 提取不重复的整数
- 华为机试 提取不重复的整数
- 华为OJ:提取不重复的整数
- 华为 提取不重复的整数
- 《华为机试在线训练》之提取不重复的整数
- 【华为oj】提取不重复的整数
- 华为在线编程试题 -- 提取不重复整数
- 华为机试在线训练-牛客网(21)整数与IP地址间的转换
- 华为——提取不重复的整数
- 华为机试在线训练-牛客网(27)无线OSS-高精度整数加法