LeetCode 738. 单调递增的数字(贪心)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 738. 单调递增的数字(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一個非負整數 N,找出小于或等于 N 的最大的整數,同時這個整數需要滿足其各個位數上的數字是單調遞增。
(當且僅當每個相鄰位數上的數字 x 和 y 滿足 x <= y 時,我們稱這個整數是單調遞增的。)
示例 1: 輸入: N = 10 輸出: 9示例 2: 輸入: N = 1234 輸出: 1234示例 3: 輸入: N = 332 輸出: 299 說明: N 是在 [0, 10^9] 范圍內的一個整數。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/monotone-increasing-digits
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 從高位往后找,找到第一個下降的地方,比如332, 3-2下降
- 在該位置往前找,找到連續的最前面一樣的數字(第一個3),將其 -1,后面的全部變成 9,(299)
總結
以上是生活随笔為你收集整理的LeetCode 738. 单调递增的数字(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 16.17.
- 下一篇: LeetCode 919. 完全二叉树插