738.单调递增的数字
遇到了strNum[i - 1] > strNum[i],让strNum[i - 1]--,然后strNum[i]及以后给为9
根据这种情况从后往前遍历
class Solution {
public int monotoneIncreasingDigits(int n) {
String s = String.valueOf(n);
char[] chars = s.toCharArray();
int start = s.length();
for (int i = s.length() - 2; i >= 0; i--) {
if (chars[i] > chars[i + 1]) {
chars[i]--;
start = i+1;
}
}
for (int i = start; i < s.length(); i++) {
chars[i] = '9';
}
return Integer.parseInt(String.valueOf(chars));
}
}
贪心算法总结:
没有固定套路,更多是记忆