华为机试HJ9:提取不重复的整数

Posted 翟天保Steven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试HJ9:提取不重复的整数相关的知识,希望对你有一定的参考价值。

题目描述:

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

保证输入的整数最后一位不是0。

输入描述:

输入一个int型整数

输出描述:

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

示例:

输入:

9876673

输出:

37689

解题思路:

数字从0到9,总共10个数字,建立一个数组,用来作数字是否出现过的标记,比如a[5]=1,则5这个数字出现过了;将输入的int型数值按位数往前依次分析,如果首次碰到该数字,说明其数组对应位置为0,等下次再碰到就是1,如果为1则不输出。

测试代码:

#include <iostream>
using namespace std;
int main(void)
{
    int array[10] = { 0 };
    int number;
    cin>>number;
    for(;0 < number;number /= 10)
    {
        if (!array[number % 10])
        {
            array[number % 10] = 1;
            cout<<number % 10;
        }
    }
    return 0;
}

以上是关于华为机试HJ9:提取不重复的整数的主要内容,如果未能解决你的问题,请参考以下文章

HJ9 提取不重复的整数

华为机试:提取不重复的整数

华为机试 提取不重复的整数

华为机试练习提取不重复的整数

华为python机试题目:整数与IP地址间的转换图片整理字串的连接最长路径查找提取不重复的整数字符串合并处理字符串最后一个单词的长度删除字符串中出现次数最少的字符

华为OD机试 - 组成最大数(Java) | 机试题+算法思路+考点+代码解析 2023