【贪心】【待写】Leetcode 402Remove K Digitsw

来源:互联网 发布:骑士战歌坐骑升阶数据 编辑:程序博客网 时间:2024/06/05 02:14

题意:给定一个非负整数n, 现在最多可以移除k位, 使得剩下的数字尽可能小并输出,前导零最终要舍去,全部移除则输出0

我也很无语自己这么无耻地写了一个待写。但的确觉得这道题很好,告诫自己一定要写一次这个代码。

分析,就是贪心,遇到降的序列,就把那个大的去掉。如1243,去掉4,若到最后就去掉最后一个。

证明:类似数学归纳吧。若相邻两个,选择一个不去掉,那一定不去小的,因为两个数无论去掉哪一个,剩下那一个占的是同一位,那么留下小的可以使数更小,从前两位开始,若出现前一位比后一位大,那这个数一定是备选项了。然后若出现多个备选项,去越高位数变得越小。

得证。

0 0