https://leetcode.cn/problems/monotone-increasing-digits/
算法思想:
要求x[i-1]<=x[i]需要从后面开始遍历,当遇到不符合条件的情况,就把i变成9,i-1的位置-1操作。
class Solution {
public:
int monotoneIncreasingDigits(int n) {
//转化为字符串进行处理
string s = to_string(n);
int flag = s.size(); //记录从哪里开始变成9
for(int i=s.size()-1; i>0;i--)
{
if(s[i-1]> s[i])
{
flag=i;//标记从哪里开始变成9
s[i-1]--;
}
}
for(int i=flag; i<s.size();i++)
{
s[i] = '9';
}
return stoi(s);
}
};