leetcode 738. 单调递增的数字

这篇具有很好参考价值的文章主要介绍了leetcode 738. 单调递增的数字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023.8.4

leetcode 738. 单调递增的数字,leetcode专栏,leetcode,算法,职场和发展,数据结构,c++

         这题用暴力法会超时,我就没试了,采用了个挺巧的方法,为了方便需要先将整数n转换为字符串的形式,然后从后向前遍历,当两个数字非递增时,将前一个数字--,后一个数字的位置记录在index中,之后需要将这个index以后的数字全赋为9。  为了防止将不需要赋9的地方赋9,index需要初始化为超出这个字符串数组的索引,我初始化为一个最大整型值INT_MAX。最后的结果记得转回整数形式。 代码细节如下:文章来源地址https://www.toymoban.com/news/detail-633278.html

class Solution {
public:
    int monotoneIncreasingDigits(int n) {
        string str = to_string(n);
        //为了防止将不需要赋9的位置赋9
        int index = INT_MAX; 
        for(int i=str.size()-1; i>0; i--)
        {
            if(str[i] < str[i-1])
            {
                str[i-1]--;
                index = i;
            }
        }
        for(int i=index; i<str.size(); i++)
        {
            str[i] = '9';
        }
        return stoi(str);
    }
};

到了这里,关于leetcode 738. 单调递增的数字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 贪心算法part6 | ● 738.单调递增的数字 ● 968.监控二叉树

    代码随想录算法训练营第一天 | 题目、题目 738.单调递增的数字 局部最优:前一个数比当前数小,前一个数位减一,当前数置为9 题目要求小于等于N的最大单调递增的整数,那么拿一个两位的数字来举例。 例如:98,一旦出现strNum[i - 1] strNum[i]的情况(非单调递增),首先想

    2024年02月10日
    浏览(38)
  • Day37 贪心算法 part06 738. 单调递增的数字 968. 监控二叉树

    建议二刷巩固

    2024年01月23日
    浏览(41)
  • 单调递增的数字——力扣738

    题目描述 解法

    2024年02月13日
    浏览(36)
  • 力扣第738题 单调递增的数字 c++ 暴力超时 贪心优化

    738. 单调递增的数字 中等 相关标签 贪心  数学 当且仅当每个相邻位数上的数字  x  和  y  满足  x = y  时,我们称这个整数是 单调递增 的。 给定一个整数  n  ,返回  小于或等于  n  的最大数字,且数字呈  单调递增  。 示例 1: 示例 2: 示例 3: 提示: 0 = n = 109 从N开始

    2024年02月08日
    浏览(37)
  • DAY40:贪心算法(九)单调递增的数字(贪心的思路)

    本题暴力解法也需要看一下,虽然暴力解法超时了,但是这种思路是一种很基础的思路,需要了解 数字是没有办法直接采用下标遍历的 ,如果 要for循环遍历每个位置的数字,需要把数字转成字符串string 当且仅当每个相邻位数上的数字 x 和 y 满足 x = y 时,我们称这个整数是

    2024年02月12日
    浏览(49)
  • 算法刷题Day 37 单调递增的数字+监听二叉树

    两个可能经常要用到的函数 字符串转数字: to_string() 数字转字符串: stoi() 利用树后续遍历,同时加上状态转移的方法,非常值得反复学习

    2024年02月13日
    浏览(35)
  • 单调递增的数字+监控二叉树

    前一位减一的话,后面的所有位可以取到9,要从后往前遍历,保证单调递增,后面变小了,前面也要变小 String.valueOf 转换为String类型, Integer 类的 valueOf 方法 :将字符串或其他可以表示整数的数据转换为 Integer 对象。 监控二叉树(四种情况,主要是根节点为0不容易想到 三

    2024年04月26日
    浏览(30)
  • 贪心算法学习——最长单调递增子序列

    目录 ​编辑 一,题目 二,题目接口 三,解题思路和代码 给你一个整数数组  nums  ,找到其中最长严格递增子序列的长度。 子序列  是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如, [3,6,2,7]  是数组  [0,3,1,6,2,2,7]  的子序列。  

    2024年02月08日
    浏览(40)
  • 使用AIGC平台和数字人,对于零售企业长期发展的价值|AI/大模型/数字人专栏

    #RRL重构零售实验室AIGC内容专栏 以下内容由RRL提问,AIGC平台生成。 随着人工智能和大数据技术的快速发展,各行各业都在积极探索应用这些技术的可能性。在零售行业,人工智能生成内容(AIGC)平台和数字人的应用正在改变着企业的经营策略和营销模式。 本文将从当前AI

    2024年02月04日
    浏览(40)
  • 【LeetCode每日一题】单调栈 402 移掉k位数字

    402. 移掉 K 位数字 给你一个以字符串表示的非负整数 num 和一个整数 k ,移除这个数中的 k **位数字,使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 示例 1 : 如果有 m+1 位数字,S1 a 0 a 1 a 2 . . . . a m a_0a_1a_2....a_m a 0 ​ a 1 ​ a 2 ​ .... a m ​ 需要去掉n位数字,

    2024年02月20日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包