代码随想录算法训练营第三十七天|● 738.单调递增的数字 ● 968.监控二叉树 ● 总结

 738.单调递增的数字(这个代码里下标问题还没搞太清楚,需要后面再看看)

#伪代码
string str=to_string(N);
int flag=str.size();
for(i=str.size()-1;i>0;i--){
   if(str[i-1]>str[i]){
     str[i-1]--;
     flag=i;
}
}
for(i=flag;i
class Solution:
    def monotoneIncreasingDigits(self, n: int) -> int:
        strnum=str(n)
        flag=len(strnum)
        for i in range(len(strnum)-1,0,-1):
            if(strnum[i-1]>strnum[i]):
                strnum=strnum[:i-1]+str(int(strnum[i-1])-1)+strnum[i:]
                flag=i
        for i in range(flag,len(strnum)):
            strnum=strnum[:i]+'9'+strnum[i+1:]
        return int(strnum)

968.监控二叉树 

待定,先不做

你可能感兴趣的:(算法,数学建模,c++)