算法训练营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

}

相关推荐
a李兆洋几秒前
力扣 Hot 100 刷题记录 - LRU 缓存
算法·leetcode·缓存
算法与编程之美12 分钟前
冒泡排序
java·开发语言·数据结构·算法·排序算法
卑微小文14 分钟前
企业级IP代理安全防护:数据泄露风险的5个关键防御点
前端·后端·算法
俞凡32 分钟前
5 分钟搞定 Golang 错误处理
go
Erik_LinX39 分钟前
算法日记36:leetcode095最长公共子序列(线性DP)
算法
2301_7665360540 分钟前
刷leetcode hot100--动态规划3.11
算法·leetcode·动态规划
VT.馒头41 分钟前
【力扣】2629. 复合函数——函数组合
前端·javascript·算法·leetcode
DOMINICHZL1 小时前
卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现
stm32·嵌入式硬件·算法
CodeJourney.1 小时前
光储直流微电网:能源转型的关键力量
数据库·人工智能·算法·能源
GUOYUGRA1 小时前
高纯氢能源在线监测分析系统组成和作用
人工智能·算法·机器学习