func monotoneIncreasingDigits(n int) int {
//Itoa()函数用于将int类型数据转换为对应的字符串表示
s := strconv.Itoa(n) //将数字转为字符串,方便使用下标
n1 := []byte(s)//将字符串转为byte数组,方便更改。
// 倒序遍历
flag := len(n1) //记录i-1比i大的开始位置
for i := len(n1) - 1; i > 0; i-- {
if n1[i-1] > n1[i] {
n1[i-1] -= 1
flag = i
}
}
for i := flag; i < len(n1); i++ {//将flag之后的元素都置为9
n1[i] = '9'
}
// Atoi()函数用于将字符串类型的整数转换为int类型 strconv.Atoi(s string) (i int, err error)
res, _ := strconv.Atoi(string(n1))
return res
}
Day36 Golang (贪心算法)738.单调递增的数字 968.监控二叉树 (后面补充)
最新推荐文章于 2024-11-14 17:18:58 发布