classSolution{public:intmonotoneIncreasingDigits(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;}};
贪心算法【考核知识】从任意数的十位至更高位,如何读取每个数class Solution {public: int monotoneIncreasingDigits(int N) { if (N < 10) return N; int k; // 从十位开始向更高位遍历 for (k = 10; N / k > 0; k *= 10) { // 高位比低位数值大 if (.