【算法刷题 | 贪心算法09】4.30(单调递增的数字)

文章目录

16.单调递增的数字

16.1题目

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

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

  • 示例一:

    输入: n = 10
    输出: 9

  • 示例二:

    输入: n = 1234
    输出: 1234

16.2解法:贪心

16.2.1贪心思路

16.2.2代码实现

java 复制代码
	public int monotoneIncreasingDigits(int n) {
        String s=String.valueOf(n);
        char[] ch=s.toCharArray();
        int len=ch.length;
        int start=len;    //从哪位开始变成9
        for(int i=len-1;i>0;i--){
            if(ch[i-1]>ch[i]){
                //前一位比该位大
                ch[i-1]--;
                start=i;
            }
        }
        for(int i=start;i<len;i++){
            ch[i]='9';
        }
        return Integer.parseInt(String.valueOf(ch));
    }
相关推荐
荣码6 小时前
从0到1搭一个生产级RAG系统:串联前面21篇所有知识
java·python
xuxigifxfh7 小时前
牛客:HJ170 01序列
java·开发语言·算法·华为机考
朝朝辞暮i7 小时前
C++ 第 33 课:事件循环——spin() 到底在干什么
开发语言·c++·算法
野生技术架构师7 小时前
牛客网互联网大厂 Java 高频面试题整理(持续更新)
java·开发语言
殷色玫瑰7 小时前
AVL树:从平衡因子到四种旋转的完整实现
c语言·数据结构·c++·算法·visualstudio
小师兄吃牛肉7 小时前
Java语法 | 多重循环
java·开发语言·python
Han.miracle7 小时前
MySQL InnoDB:MVCC、记录锁、间隙锁、二级索引MVCC底层原理
java·开发语言
jidaowansui8 小时前
B3643 图的存储———>数组模拟邻接矩阵
算法
不停喝水8 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
y1su8 小时前
Leetcode 二分模板
java·数据结构·算法·leetcode·排序算法