【华为机试真题 Python】最大数字

题目描述

给定一个由纯数字组成以字符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;

删除某个重复的数字后,其它数字相对位置保持不变。

如”34533″,数字3重复超过2次,需要删除其中一个3,删除第一个3后获得最大数值”4533″

请返回经过删除操作后的最大的数值,以字符串表示。

输入描述

  • 第一行为一个纯数字组成的字符串,长度范围:[1,100000]

输出描述

  • 输出经过删除操作后的最大的数值

参考示例

示例1

输入

34533


输出    

4533

示例2

输入

5445795045


输出    

5479504


参考代码

# 输入获取
s = input()
 
 
# 算法入口
def getResult(s):
    # 每个数字字符的可用个数
    unused = {}
    # 每个数字字符的保留个数
    reserve = {}
 
    # 初始时,每个数字有多少个,就可用多少个,由于还未使用,因此保留个数为0
    for c in s:
        if unused.get(c) is None:
            unused[c] = 0
 
        if reserve.get(c) is None:
            reser

猜你喜欢

转载自blog.csdn.net/forest_long/article/details/135031695
今日推荐