12/15
找到第一个比前一位小的位数、将这位以及其后面的位数置9,然后前面一位减1(不够减就置9往前退)
class Solution {
public int monotoneIncreasingDigits(int N) {
char[] s =Integer.toString(N).toCharArray();
for(int i=1;i<s.length;i++){
if(s[i]>=s[i-1]){
continue;
}
for(int j=i-1;;j--){
if(j==0||s[j]>s[j-1]){
s[j]--;
for(int k=j+1;k<s.length;k++){
s[k]='9';
}
break;
}
}
}
return Integer.parseInt(new String(s));
}
}

该博客介绍了一个Java方法,用于处理整数N,找到第一个不单调递增的位数,将其及其后续位数置为9,前一位减1(不足则置9)。这个算法涉及到字符串转换、字符数组操作和条件判断。
413

被折叠的 条评论
为什么被折叠?



