【华为机试真题 JAVA】字符串删除后的最大数值-100

题目描述

给定一个由纯数字组成以宇符串表示的数值,现要求字符串中的每个数字最多只能出现2次,超过的需要进行删除;删除某个重复的数字后,其它数字相对位置保持不变。如34533,数字3重复超过2次,需要册除其中一个3,删除第一个3后获得最大数值 4533。请返回经过删除操作后的最大的数值,以字符串表示。

输入描述

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

输出描述

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

测试用例

示例1

输入

34533

输出

4533

示例2

输入

5445795045

输出

5479504

解题思路

首先, 定义一个Map对象countMap对输入的字符进行计数,key为字符类型,value为当前计数值 定义一个StringBuilder对象sb,用来存储当前拼接后的字符串。

接下来,遍历输入字符串中的每一个字

经验分享 程序员 微信小程序 职场和发展