给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。

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

class Solution:def monotoneIncreasingDigits(self, N: int) -> int:num_list = []while N:num_list.append(N % 10)N //= 10num_list.reverse()pre_val = num_list[-1]has_less = [False] * len(num_list)for i in range(len(num_list) - 1, -1, -1):if num_list[i] > pre_val:has_less[i] = Truepre_val = num_list[i] - 1pre_val = min(pre_val, num_list[i])res = []flag = Falsefor i in range(len(num_list)):if flag:res.append(9)continueif not has_less[i]:res.append(num_list[i])else:res.append(num_list[i] - 1)flag = Trueans = 0for val in res:ans = ans * 10 + valreturn ans

LeetCode 738 单调递增的数字相关推荐

  1. Java实现 LeetCode 738 单调递增的数字(暴力)

    738. 单调递增的数字 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= ...

  2. [Leetcode]738. 单调递增的数字

    当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的. 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 . 示例 1: 输入: ...

  3. LeetCode 738. 单调递增的数字(贪心)

    1. 题目 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称 ...

  4. leetcode 738. 单调递增的数字(贪心算法)

    给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单 ...

  5. Leetcode 738. 单调递增的数字

    题目 解题思路 思路:贪心思路,从前往后找到不符合条件的位置,然后把这个位置的数-1,然后这个位置后面的数全部改为9 循环反复即可,代码有点长,注释很齐全. 加油,再多努力! 代码 class Sol ...

  6. leetcode(力扣)738. 单调递增的数字||714. 买卖股票的最佳时机含手续费

    738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strNum=to_string(n) ...

  7. LeetCode-Algorithms-[Mid]738. 单调递增的数字

    给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增. (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单 ...

  8. _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 、714.买卖股票的最佳时机含手续费、968.监控二叉树

    _32LeetCode代码随想录算法训练营第三十二天-贪心算法 | 738.单调递增的数字 .714.买卖股票的最佳时机含手续费.968.监控二叉树 题目列表 738.单调递增的数字 714.买卖股票 ...

  9. 738. 单调递增的数字

    链接:738. 单调递增的数字 题解:https://leetcode-cn.com/problems/monotone-increasing-digits/solution/dan-diao-di- ...

最新文章

  1. JAVA GUI重要知识点学习心得
  2. linux mysql卸载_Linux环境下安装Mysql8.0数据库
  3. 基于容器原理(docker、lxc、cells)的Android 双系统设计概要
  4. Python Threading 多线程编程
  5. 你得学会并且学得会的Socket编程基础知识(转)
  6. bootstrapValidator对于隐藏域验证和程序赋值即时验证的问题
  7. 研究百度下拉360下拉搜狗下拉神马下拉头条下拉抖音下拉的优化算法(合集帖)
  8. ssh配置公钥_CentOS配置SSH免密登陆
  9. Julia: 关于Array排序函数sortslices
  10. DHCPv6相关知识简单总结
  11. 激光导航agv常见的三大应用场景是什么?
  12. EXCEL如何生成不重复的随机数 ,多方法+原理
  13. 【手把手带你刷LeetCode】——02.出现1次和K次的数(位运算)
  14. 第三章 SQL命令 ALTER USER
  15. 彩屏显示入门:我要五彩斑斓的黑 | 用Arduino玩转ESP32与掌控板系列
  16. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:
  17. 歪写数学史(当之无愧的数学王子)
  18. 读《MySQL性能调优与架构设计》笔记之ORDER BY,GROUP BY 和DI STI NCT 优化
  19. R中因子(factor)
  20. 网络请求urllib库使用总结

热门文章

  1. php微信公众号支付接口案例,Thinkphp微信公众号支付接口
  2. 实时控制软件第一次作业--CNC软件系统案例分析
  3. 感慨:手机欠费停机被销号,号码竟然被使用,未解绑的业务咋办?
  4. 为什么说蚂蚁金服和京东金融都没啥前途?
  5. Outlook发邮件时忘记写主题的解决方法
  6. 某程序员哀叹:提出离职后被公司挽留,千万别留!自己拒绝offer留下来,却惨遭边缘化!...
  7. 玩客云刷home assistant(2023-01-19亲测)
  8. 客户能从CRM中得到什么好处?
  9. ​美国UIUC信息学院汪浩瀚老师课题组招收全奖博士生及合作者
  10. php session陷阱