本文共 775 字,大约阅读时间需要 2 分钟。
为了找到小于或等于给定整数N的最大整数,使其各个位数上的数字是单调递增的,我们可以从右到左遍历每一位数字,并在遇到不符合条件的情况时进行调整。
function monotoneIncreasingDigits(N) { let s = N.toString(); for (let i = s.length - 2; i >= 0; i--) { if (s[i] > s[i + 1]) { s = s.substring(0, i) + (parseInt(s[i]) - 1).toString() + '9'.repeat(s.length - i - 1); } } return parseInt(s);} 该方法确保了我们能够找到满足条件的最大整数,并且在遇到不符合条件的情况时进行调整,确保数字的单调递增性。
转载地址:http://wlckz.baihongyu.com/