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已经反馈

  • 相关阅读:
    mysql对表操作的各种语句
    Map遍历两种方式
    hibernate3
    Spring、mybaits整合
    mybaits注解
    mybaits 框架运用
    mybatis入门
    限制文本框字符数
    Unity3D Mathf函数
    Unity3d 粒子工具注释
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/11645126.html
Copyright © 2011-2022 走看看