1203 - 不降的数字(枚举的策略)


考虑N的数据范围较大,因此 O(n)枚举的方法是不可行的。

这道题中要求找到的 X 是可以等于 N 的,因此我们从高位往低位顺次枚举 N 的每一个数位,如果当前的数位比它后面那一位大,那么我们考虑把当前这一位减 1 ,后面的数位全补 9 即可。

例如: 12540−>(5>4)−>12499

但有的情况比较特殊,如 122200−>(2>0)−>122199

答案不合法,对于这种情况我们应该找到这一块连续的值,把第一个减 1 ,后面全补 9 即可

例如: 100−>(2>0)−>19999