LC 738 单调递增的数字
class Solution:
def monotoneIncreasingDigits(self, n: int) -> int:
a = list(str(n))
for i in range(len(a)-1,0,-1):
if int(a[i]) < int(a[i-1]):
a[i-1] = str(int(a[i-1]) - 1)
a[i:] = '9' * (len(a) - i) #python不需要设置flag值,直接按长度给9就好了
return int("".join(a))
贪心总结:从局部最优到全局最优!
本文介绍了一种解决LC738单调递增数字问题的有效算法。通过贪心策略,从右向左遍历数字每一位,确保整体数字单调递增,同时尽可能保持数值最大。该算法易于实现且效率高。
279

被折叠的 条评论
为什么被折叠?



