//局部最优推出全局最优
//只要后一位比前一位小 前一位就--,后面就全变成9
//还要保证前一位减一之后 原序列递增 所以要从后往前遍历
class Solution {
public:
int monotoneIncreasingDigits(int n) {
string a = to_string(n);
int flag = a.size();
for (int i = a.size()-1; i > 0; i--) {
if (a[i] < a[i - 1]) {
flag = i;
a[i - 1]--;
}
}
for (int i = flag; i < a.size(); i++)
a[i] = '9';
return stoi(a);
}
};
LeetCode 738. 单调递增的数字(需复习)
最新推荐文章于 2024-10-14 09:08:48 发布