代码随想录打卡第37天738. 单调递增的数字

738. 单调递增的数字

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);

    }

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容