MT2004 购买数字
思路
首先本题大体的思路自然就是把字符串分成两半,然后尽量让后一半与其对称的前一半数字相同,因为如果其较大,将后一半变小显然比把前一半的变小对数字值的影响较小。而如果其较小,将其变大,也还能够通过借位来使得总体数字值不会超过原来的数字。
这题我起初的思路是从中间向两边搜索,如果不够再向前一位借位。但是这样的鲁棒性非常差,很难处理例如奇数位之类的一系列边界条件。
实际上,这题应该从两边向中间搜索,在不够时右边不断往前借位,同减法的借位规则相同。另外需要注意的是如果是10的N次方
的情况,这种情况由于借位会减一位,需要在运算后也去除前导0。