738.单调递增的数字
当且仅当每个相邻位数上的数字 x
和 y
满足 x <= y
时,我们称这个整数是单调递增的。
给定一个整数 n
,返回 小于或等于 n
的最大数字,且数字呈 单调递增 。
class Solution {
public:
int monotoneIncreasingDigits(int n) {
vector<int> v;
while(n)
{
v.push_back(n%10);
n = n/10;
}
for(int i = 1;i<v.size();i++)
{
if(v[i] > v[i-1])
{
v[i] = v[i]-1;
for(int j = 0;j<i;j++)
{
v[j] = 9;
}
}
}
long int result = 0,m = 1;
for(int i = 0;i<v.size();i++)
{
result+=v[i]*m;
m*=10;
}
return result;
}
};