问题描述
给定一个十进制的正整数number,从number中去掉n个数字,使得剩余的数字组成的数最大(不改变数字顺序)。
输入两行:第一行输入正整数number,第二行输入要删除的数字个数,举例如下:
input:
93024
2
output: 934
完整代码(包括测试用例): (https://github.com/FergusChen/AlgoCode)
包路径:main.other.RetainMaxNumber
思路
从左到右循环删除delCount个数字,具体每次循环,都遍历整个数字序列。如果位置i的数字比位置i+1的数字小,就把位置i的数字删掉。如果遍历结束后没有删掉数字,则证明最后一个数字是最小的,删除最后一个数字。
算法代码
附上java代码如下: