当前位置: 首页 > news >正文

单调递增的数字【贪心算法】

  1. 单调递增的数字
    当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。
    给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。
    在这里插入图片描述
public class Solution {public int monotoneIncreasingDigits(int N) {// 将整数N转换为字符串String strNum = Integer.toString(N);// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行int flag = strNum.length();// 将字符串转换为字符数组,以便后续修改字符char[] numArray = strNum.toCharArray();// 从字符串的末尾向前遍历,查找需要减少的位置for (int i = strNum.length() - 1; i > 0; i--) {// 如果当前字符比下一个字符大,则需要减少当前字符的值if (numArray[i - 1] > numArray[i]) {// 标记需要减少的位置flag = i;// 减少当前字符的值numArray[i - 1]--;}}// 将标记位置之后的所有字符都设置为'9'for (int i = flag; i < strNum.length(); i++) {numArray[i] = '9';}// 将字符数组转换回整数并返回(将字符数组转换为字符串,这是因为Integer.parseInt方法需要一个字符串作为参数)return Integer.parseInt(new String(numArray));}
}
http://www.lryc.cn/news/151547.html

相关文章:

  • gnuradio-hackrf_info.exe -FM频率使用
  • JVM学习(三)--生产环境的线程问题诊断
  • PHP数组处理$arr1转换为$arr2
  • ATF(TF-A)安全通告 TFV-10 (CVE-2022-47630)
  • 详解 SpringMVC 中获取请求参数
  • Message: ‘chromedriver‘ executable may have wrong permissions.
  • 每日一题 1372二叉树中的最长交错路径
  • 【力扣每日一题】2023.9.2 最多可以摧毁的敌人城堡数量
  • kotlin实现java的单例模式
  • 使用 KeyValueDiffers 检测Angular 对象的变化
  • Macos 10.13.2安装eclipse
  • Android逆向学习(一)vscode进行android逆向修改并重新打包
  • 【深入浅出设计模式--状态模式】
  • Debezium系列之:Debezium Server在生产环境大规模应用详细的技术方案
  • Echart笔记
  • docker 笔记1
  • HTTP Get 和 Post 的区别
  • C++超级迷宫游戏
  • CUDA小白 - NPP(3) 图像处理 Color and Sampling Conversion
  • Android硬件通信之 串口通信
  • 高防服务器面对DDOS攻击的威胁有何必要性
  • VBA中如何将if写到一行
  • 性能测试,python 内存分析工具 -memray
  • Jmeter(二十八):beanshell的使用
  • 数学建模:层次分析法
  • POI-TL制作word
  • 大数据Flink(七十一):SQL的时间属性
  • 51单片机项目(7)——基于51单片机的温湿度测量仿真
  • 按钮控件之1---QPushButton 标准按钮/普通按钮控件
  • Ae 效果:CC Light Rays