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

2023-09-13  本文已影响0人  eagleX

738.单调递增的数字 

依次减一遍历,判断是否是递增数,时间复杂度较高

贪心:

从后向前遍历,一旦出现strNum[i - 1] > strNum[i]的情况(非单调递增)让strNum[i - 1]--,然后strNum[i]给为9

intmonotoneIncreasingDigits(intN){string strNum=to_string(N);// flag用来标记赋值9从哪里开始// 设置为这个默认值,为了防止第二个for循环在flag没有被赋值的情况下执行intflag=strNum.size();for(inti=strNum.size()-1;i>0;i--){if(strNum[i-1]>strNum[i]){flag=i;strNum[i-1]--;}}for(inti=flag;i<strNum.size();i++){strNum[i]='9';}returnstoi(strNum);}

968.监控二叉树(略过)

上一篇 下一篇

猜你喜欢

热点阅读