Leetcode|中等|序列|738. 单调递增的数字

在这里插入图片描述

贪心算法

【考核知识】从任意数的十位至更高位,如何读取每个数

class Solution {
    
    
public:
    int monotoneIncreasingDigits(int N) {
    
    
        if (N < 10) return N;
        int k;
        // 从十位开始向更高位遍历
        for (k = 10; N / k > 0; k *= 10) {
    
    
            // 高位比低位数值大
            if (N / k % 10 > N / (k / 10) % 10) 
                N -= N % k + 1; 
        }
        return N;
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/SL_World/article/details/114876941