题目:原题链接(中等)
标签:贪心算法
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( l o g N ) O(logN) O(logN) | O ( l o g N ) O(logN) O(logN) | 44ms (40.91%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution:
def monotoneIncreasingDigits(self, N: int) -> int:
s = list(str(N))
i = 1
while i < len(s) and int(s[i - 1]) <= int(s[i]):
i += 1
if i == len(s):
return N
while i > 0 and s[i - 1] > s[i]:
s[i - 1] = str(int(s[i - 1]) - 1)
i -= 1
for i in range(i + 1, len(s)):
s[i] = "9"
return int("".join(s))