美文网首页
每日一题20201215(738. 单调递增的数字)

每日一题20201215(738. 单调递增的数字)

作者: 米洛丶 | 来源:发表于2020-12-15 14:50 被阅读0次

738. 单调递增的数字

image-20201215143631260

思路

咱也不管什么贪心什么的,只说几种情况:

情况1:

数字本身是递增的,那么直接return就可以了

1234 -> 1234

情况2:

数字先增后减

这个时候只需要找到第一个递减的位置,然后将其-1然后后面的位数都补为9即可

323 -> 299

情况3:

含有重复数字:  668831

需要找到递减的地方: 3, 然后往回数,找到第一个8,然后改为: 667, 后面补9即可

情况4:

1000,这种需要少一位的,其实和上面一样的处理方式,高位-1,比如1-1=0,后面补9,转为int后就少了一位
class Solution:
    def monotoneIncreasingDigits(self, N: int) -> int:
        # 这层优化可以去掉
        if N < 10:
            return N
        s = str(N)
        i = 1
        # 首先找到第一个开始递减的数字
        while i < len(s) and int(s[i]) >= int(s[i-1]):
            i += 1
        # 然后回溯找到真正递减开始的位置,比如668811, 此时i指向1,实际上应该找到第一个8
        while i > 1 and s[i-1] == s[i-2]:
            i -= 1
        # 如果i已经走到末尾了,说明字符串是递增的
        if i == len(s):
            return N
        # s[:i-1] 注意这个不包括i-1, 即不改变的递增部位
        # str(int(s[i-1])-1) 这个是递增的最高点,对他-1
        # len(s[i:]) * '9' 后面的补9即可
        # 最后加起来转为int
        return int(s[:i-1]+str(int(s[i-1])-1)+len(s[i:]) * '9')

image-20201215145022490

相关文章

  • 每日一题20201215(738. 单调递增的数字)

    738. 单调递增的数字[https://leetcode-cn.com/problems/monotone-in...

  • 738. 单调递增的数字

    题目: 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整...

  • 738. 单调递增的数字(Python)

    难度:★★★☆☆类型:数组方法:数学 力扣链接请移步本题传送门[https://leetcode-cn.com/p...

  • LeetCode 738. 单调递增的数字

    题目 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 ...

  • 贪心--单调递增的数字

    目录[https://www.jianshu.com/p/85e18c21317a] 题号[https://lee...

  • leetcode 738 单调递增的数字

    昨天卡爆的一道题!!!思路很简单,比较当前位和下一位关系,如果比下一位大,则将其减一,然后将后面的数字全变为九,卡...

  • 单调栈

    对应力扣题目-739. 每日温度 什么是单调栈? 单调递增栈,从栈底到栈顶依次递增(单调非递减栈:允许有相等) 单...

  • 单调递增栈(monotonous increasing stac

    今天做leetcode时,发现两道题均用到了单调递增栈,遂进行学习。 什么是单调递增栈? 简单来说,单调递增栈就是...

  • UUID生成方案

    UUID组成部分 1+分片标识符+年月日+递增数字其中递增数字,长度不够前面补0 实现 总结 每日可保存上亿的UU...

  • 架构-分布式ID生成系统

    分布式ID特点: 唯一性 趋势递增 单调递增(严格递增)分布式系统中,如果不引用分布式锁,单调递增意义不大。 安全...

网友评论

      本文标题:每日一题20201215(738. 单调递增的数字)

      本文链接:https://www.haomeiwen.com/subject/tcrwgktx.html