当前位置:   article > 正文

代码随想录算法训练营第三十七天|738.单调递增的数字

代码随想录算法训练营第三十七天|738.单调递增的数字

738.单调递增的数字

  1. public class Solution {
  2. public int MonotoneIncreasingDigits(int n) {
  3. string nu=n.ToString();
  4. char[] num=nu.ToCharArray();
  5. int idx=num.Length;
  6. for(int i=num.Length-1;i>0;i--)
  7. {
  8. if(num[i]<num[i-1])
  9. {
  10. idx=i;
  11. num[i-1]--;
  12. }
  13. }
  14. for(int i=idx;i<num.Length;i++)
  15. {
  16. num[i]='9';
  17. }
  18. return int.Parse(new string(num));
  19. }
  20. }

先将输入的数字转换成Char数组类型储存,便于单个遍历以及修改,然后从最后一个依次向前遍历,如果第I个比第I-1个小,那Idx指针记录当前位置说明需要后续改变为9,同时处理I-1处减小1,当天减小操作处理完后将Idx后的所有数字都变为9则符合题意。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/128021
推荐阅读
相关标签
  

闽ICP备14008679号