码迷,mamicode.com
首页 > 编程语言 > 详细

算法 提取不重复整数

时间:2019-10-10 00:18:31      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:space   mes   find   顺序   ace   问题   返回   question   cli   

题目描述

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

输入描述:

输入一个int型整数

输出描述:

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

示例1

输入

复制
9876673

输出

复制
37689

 

 

 

  思路:将整数每一位,从个位开始保存到无序的map,再遍历map即可

     注意需要判断是否插入成功

 


#include <iostream>
#include <iterator>
#include <unordered_map>

using namespace std;

int main() {
  int n, index;
  int arry[10] = { 0 };
  unordered_map <int, int> vNumber;
  int length = 0;
  cin >> n;
  index = n;

while (index) {
  index /= 10;
  length++;
  }

  index = n;


for (int i = 0; i < length ; i++) {
  int number = index % 10;
  if(vNumber.find(number)==vNumber.end())
  vNumber.insert(make_pair(number, number));
  index /= 10;
}


  for (unordered_map<int, int>::iterator s = vNumber.begin(); s != vNumber.end(); s++) {
  cout << s->second;
  }
  cout << endl;
  return 0;
}

 

VS下输出跟OJ上输出结果不一样,OJ有问题,不能AC已经反馈

算法 提取不重复整数

标签:space   mes   find   顺序   ace   问题   返回   question   cli   

原文地址:https://www.cnblogs.com/liuruoqian/p/11645126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!