代码随想录算法训练营day37||738. 单调递增的数字以及贪心算法总结

738. 单调递增的数字

该题是如果一个数的每一位都是单调递增的那就保留,如果不是,就找小于其最大的单调递增数。具体是应该前一位比后一位大那就将前一位减1,后面都变9。

class Solution {
    public int monotoneIncreasingDigits(int n) {
       String s=String.valueOf(n);
       char [] sa=s.toCharArray();
       int ffa=s.length();
       for(int i=s.length()-2;i>=0;i--)
       {
           if(sa[i]>sa[i+1])
           {
               sa[i]--;
               ffa=i+1;
           }
       }
       for(int i=ffa;i

对于贪心算法,有些题对于我来说有些难,但是总体还是将部分的规律带入整体当中去成立。在做题的过程中对于部分题我是有思路但是代码还是写不出,对于这一点是我代码能力还是太弱了,我应该在今后增强我的代码能力。

你可能感兴趣的:(算法,贪心算法)