zoukankan      html  css  js  c++  java
  • 算法 提取不重复整数

    题目描述

    输入一个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已经反馈

  • 相关阅读:
    Save the problem!
    Divisiblity of Differences
    定个小目标
    Faulty Robot
    反片语 uva 156(map的使用
    Input is terminated by EOF.
    uva10815 andy的字典(set的应用)
    uva-101 搬砖问题(不定长数组vector的使用)
    回文串uva401(清简出风尘)
    WERTYU (善用常量数组
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/11645126.html
Copyright © 2011-2022 走看看