本文主要是介绍代码随想录算法训练营第三十七天|738.单调递增的数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
738.单调递增的数字
public class Solution {public int MonotoneIncreasingDigits(int n) {string nu=n.ToString();char[] num=nu.ToCharArray();int idx=num.Length;for(int i=num.Length-1;i>0;i--){if(num[i]<num[i-1]){idx=i;num[i-1]--;}}for(int i=idx;i<num.Length;i++){num[i]='9';}return int.Parse(new string(num));}
}
先将输入的数字转换成Char数组类型储存,便于单个遍历以及修改,然后从最后一个依次向前遍历,如果第I个比第I-1个小,那Idx指针记录当前位置说明需要后续改变为9,同时处理I-1处减小1,当天减小操作处理完后将Idx后的所有数字都变为9则符合题意。
这篇关于代码随想录算法训练营第三十七天|738.单调递增的数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!