单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。 public int monotoneIncreasingDigits(int n) {if(n<10){return n;}int len = String.valueOf(n).length();in
题目要求 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 示例 1: 输入: N = 10 输出: 9 示例 2: 输入: N = 1234 输出: 1234 示例 3: 输入: N = 332 输出: 299 说明: N
LeetCode738.单调递增的数字 思路:与分糖果的题目同理,因为需要与前一位数比较,并且修改这两个数,因此需要从后往前遍历,当前一位数比当前数大时,则前一个数-1,后一个数变为9。 代码细节:1、flag初始值不为0,因为当数本身就是递增序列时,不应该执行赋9操作。 2、flag=i,而不是直接赋值,因为如果当数字为1000时,并不会执行赋值操作,但是最终答案为999。 class S