代码随想录第37天| 贪心6
738.单调递增的数字 (中)
LeetCode题目:738.单调递增的数字
代码随想录:738.单调递增的数字
从后往前遍历,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增),首先想让strNum[i - 1]减一,strNum[i]赋值9
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string snum = to_string(n);
int flag = snum.size(); // 标记9的开始位置
for(int i = snum.size() - 1; i > 0 ; i--){
if(snum[i-1] > snum[i]){
flag = i;
snum[i-1]--;
}
}
for(int i = flag; i < snum.size(); i++){
snum[i] = '9';
}
return stoi(snum);
}
};
968.监控二叉树(困难)
先跳过了。。