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

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

输入描述:
输入一个int型整数

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

示例1
输入
9876673
输出
37689

 

参考1:

字典

from collections import defaultdict    #调用字典函数
num = input()[::-1]
dic = defaultdict(int)    #初始化
for c in num:
    dic[c] += 1              #赋值
for c in num:
    if dic[c] == 1:
        print(c,end='')
    if dic[c] >= 2:         #键值大于等于2的,只输出1次
        print(c,end='')
        dic[c] = 0

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率:100.00% 运行时间: 40ms 占用内存: 3688KB

 

参考2:

直接法

num = input()
res = ''
n = len(num)
for i in range(n-1,-1,-1):   #逆序
    if num[i] not in res:      
        res = res+num[i]
print(res)

执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率:100.00% 运行时间: 16ms 占用内存: 3456KB

posted @ 2020-08-20 14:56  Andy_George  阅读(251)  评论(0编辑  收藏  举报