代码随想录算法训练营第三十二天|leetcode738题

一、leetcode第738题

本题要求返回小于等于给定数字且从最高位到最低位呈单调递增的数值,需要从最低位向最高位遍历,如果最低位比其前一位小则若要使改变后数值最大需要将前一位作减一操作并记录下当前位,在遍历结束后将记录的当前位之后的所有位数值都置为9,此时返回的数值即为所求。

具体代码如下:

cpp 复制代码
class Solution {
public:
    int monotoneIncreasingDigits(int n) {
    string str=to_string(n);
    int flag=str.length();
    for(int i=flag-1;i>0;i--)
    {
        if(str[i]<str[i-1])
        {
            str[i-1]--;
            flag=i;
        }
    }
    for(int i=flag;i<str.length();i++)
    {
        str[i]='9';
    }
    return stoi(str);
    }
};
相关推荐
Doubbbbbbble云2 小时前
基于贪心算法的区间覆盖问题求解策略4
算法·贪心算法
不会就选b8 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
千里码aicood12 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊12 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له13 小时前
World-In-World: World Models in a Closed-Loop World
算法
Discipline102915 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder15 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法
小羊没烦恼!15 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#
weixin_3077791315 小时前
基于睿擎工业开发平台的预训练视觉模型轻量化适配与低代码部署优化
开发语言·算法