这题要先找到最前面前一位比后面大的数字,这一位后面就都是9,这一位减一,前面的不变。
class Solution:
def monotoneIncreasingDigits(self, N: int) -> int:
n = N
power, ct = 1, -1
while N >= 10:
num1 = N % 10
N //= 10
num2 = N % 10
if num1 < num2:
N -= 1
ct = power
power *= 10
if ct < 0: return n
ct *= 10
return (n // ct - 1)*ct + ct - 1