给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。
(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)
示例 1:
输入: N = 10
输出: 9
代码
class Solution {public int monotoneIncreasingDigits(int N) {if(N%10==0) N--;char[] temp=String.valueOf(N).toCharArray();int pre=temp.length;for(int i=temp.length-1;i>0;i--)//找出不满足递增条件的最高位{if(temp[i]<temp[i-1]){pre=i;temp[i-1]--;}}for(int i=pre;i<temp.length;i++)//将不满足递增的最高一位后面的数字全部置为9temp[i]='9';return Integer.parseInt(new String(temp));}
}