赞
踩
- 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则符合题意。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。