算法训练营day32,贪心算法6

import "strconv"

//738. 单调递增的数字

func monotoneIncreasingDigits(n int) int {

str := strconv.Itoa(n)

nums := []byte(str)

length := len(nums)

if length <= 1 {

return n

}

for i := length - 1; i > 0; i-- {

//如果前一个数字比当前值大,说明不是单调递增的,把前一个数字减1,之后所有数字变成9

if nums[i-1] > nums[i] {

nums[i-1]--

for j := i; j < length; j++ {

nums[j] = '9'

}

}

}

res, _ := strconv.Atoi(string(nums))

return res

}

相关推荐
GGBondlctrl10 分钟前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康22 分钟前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
武子康25 分钟前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting
Andrew_Xzw1 小时前
数据结构与算法(快速基础C++版)
开发语言·数据结构·c++·python·深度学习·算法
超的小宝贝2 小时前
数据结构算法(C语言)
c语言·数据结构·算法
木子.李3478 小时前
排序算法总结(C++)
c++·算法·排序算法
闪电麦坤959 小时前
数据结构:递归的种类(Types of Recursion)
数据结构·算法
Gyoku Mint10 小时前
机器学习×第二卷:概念下篇——她不再只是模仿,而是开始决定怎么靠近你
人工智能·python·算法·机器学习·pandas·ai编程·matplotlib
纪元A梦10 小时前
分布式拜占庭容错算法——PBFT算法深度解析
java·分布式·算法