给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。
(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)
示例 1:
输入: N = 10
输出: 9
示例 2:
输入: N = 1234
输出: 1234
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/monotone-increasing-digits
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
暴力遍历 - 超时
classSolution{publicintmonotoneIncreasingDigits(int N){int curr = N +1;while(--curr >=0){if(isZeng(curr)){return curr;}}return0;}privatebooleanisZeng(int n){while(true){if(n <10){returntrue;}int a = n %10;int b =(n /10)%10;if(a < b){returnfalse;}
n = n /10;}}}
给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/monotone-increasing-digits著作权归领扣网络所有。商业转