题目链接:

力扣

题目描述:

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

给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。

示例 1:

输入: n = 10
输出: 9
示例 2:

输入: n = 1234
输出: 1234
示例 3:

输入: n = 332
输出: 299

解析:

贪心算法:局部最优推全局最优

局部最优:发现相邻数字递减则后面的全部数字变为9,前面的数字-1

全局最优:得到单调递增的最大数

代码:

class Solution {public int monotoneIncreasingDigits(int n) {//贪心算法:局部最优推全局最优//局部最优:发现相邻数字递减则后面的全部数字变为9,前面的数字-1//全局最优:得到单调递增的最大数char[] num = Integer.toString(n).toCharArray();int flag = num.length;//表示包括这一位在内的后面的所有数都要变成9for(int i = num.length - 1; i >= 1; i--) {if(num[i] < num[i - 1]) {flag = i;num[i - 1]--;}}for(int i = num.length - 1; i >= flag; i--) num[i] = '9';return Integer.parseInt(new String(num));}
}

738.单调递增的数字。贪心算法相关推荐

  1. Leecode 738. 单调递增的数字 贪心

    原题链接:Leecode 738. 单调递增的数字 代码写的是真烂,,,可读性就是"仅自己可读"的程度... class Solution {public:int monotone ...

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

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

  3. D37 738.单调递增的数字 968.监控二叉树 + 贪心算法总结

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

  4. 代码随想录算法训练营第37天|738. 单调递增的数字,714. 买卖股票的最佳时机含手续费,968. 监控二叉树

    Day 37 738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strN = to_st ...

  5. 力扣刷题day32|738单调递增的数字、714买卖股票的最佳时机含手续费、968监控二叉树

    文章目录 738. 单调递增的数字 思路 难点:遍历顺序 难点:设置flag 714. 买卖股票的最佳时机含手续费 贪心思路 难点 968. 监控二叉树 思路 难点:如何隔两个节点放一个摄像头 738 ...

  6. 738.单调递增的数字,714. 买卖股票的最佳时机含手续费,968.监控二叉树

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

  7. 738. 单调递增的数字

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

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

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

  9. 代码随想录训练营第37天|738.单调递增的数字、968.监控摄像头

    738.单调递增的数字.968.监控摄像头 738.单调递增的数字 对于单调递增的数字,我们可以逆序遍历一下数组,如果每个位置的数字都满足小于下一个位置,则说明这个位置满足条件. 如果一个数字不满足条 ...

  10. 738.单调递增的数字

    ''' Description: 738.单调递增的数字 Autor: 365JHWZGo Date: 2021-11-10 09:34:56 LastEditors: 365JHWZGo LastE ...

最新文章

  1. 中文 查询_查询商标,商标注册通过分析的几个小技巧
  2. linux之创建临时文件的方法
  3. Putty通过ssh代理连接远程服务
  4. (Pwn)CTF工具 ROPgadget 的安装与使用介绍
  5. jQuery面向对象写法规定写法样式规定
  6. Extjs.FormPanel
  7. Node+Vue实现对数据的增删改查
  8. UVA11752 The Super Powers【超级幂+暴力+数论】
  9. ajax怎么在服务器返回值,node.js+Ajax实现获取HTTP服务器返回数据?
  10. 怎么用计算机划因果图,计算机软考考试必备知识点:鱼骨图法
  11. 西门子Smart 200 PLC 封装运动控制向导生成指令(脉冲)
  12. 大学计算机协会大一面试,大一学生社团面试自我介绍
  13. 三步解决NLP数据标注难题,百度大脑EasyDL专业版上线文本智能标注功能
  14. 双馈风机DFIG并网(Matlab Simulink) 有详细说明
  15. 保加利亚 乱码_保加利亚PHP的回顾-游戏开始!
  16. 【今日CV 计算机视觉论文速览 第94期】 4 Apr 2019
  17. 计算机控制室防火危险级为,8.2 空气调节 - 【已作废】火力发电厂与变电站设计防火规范 GB50229-2006 - 消防规范大全 - 消防资源网!...
  18. 在Ubuntu 18下安装SIMULIA Abaqus 2020
  19. NiFi分享第一期-安全认证(证书认证)
  20. 矩阵分解——QR分解

热门文章

  1. 北京租赁住房用地分布,八张大数据图表让你一目了然!
  2. Python批量采集商品数据并使用多线程(含完整源码)
  3. C# Json数据转DataTable并生成PDF在线下载--iTextSharp生成PDF实例(文件下载,json数据转换,PDF排版一步到位)
  4. Adobe 软件安装出现 183 错误
  5. 2012中国数据库技术大会演讲PPT下载
  6. 室内定位下的智能养老看护系统追踪报警解决方案--室内定位--新导智能
  7. 2020 Q3数字资产现货交易所行业研究报告 Part2 | TokenInsight
  8. 深入理解 Java 多线程核心知识:跳槽面试必备
  9. EasyNVR分屏切换时视频源丢失问题的优化分享
  10. 师兄帮帮忙 UVa12412 一个简单的成绩查询问题