leetcode738. 单调递增的数字
生活随笔
收集整理的這篇文章主要介紹了
leetcode738. 单调递增的数字
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:芭比Q了 又掉一個粉 啊嗚嗚嗚嗚嗚
如果作為一個領導者來說,首先就是要以身作則,自己都做不到 ,那就沒什么威信去要求手下人按照要求去做
二:題目
三:上碼
class Solution { public:int monotoneIncreasingDigits(int n) {/**思路:1.這里我們將這個數字轉換成字符串的做法,可以方便我們統計單個字符(每個字符代表一個數字 加減均可)(字符a的話也是代表一個數字97均可自增自減)2.舉例98我們需要找到單調遞增的最大數的話,那么我們可以如何選擇呢? str[i-1] > str[i]的話,那么str[i-1]--, 同時str[i] = 9,即是我們的893.那么如果我們從前往后遍歷的話,我們就會遇到332這種特殊情況,我們從332--->329,那么32就不滿足遞增的的情況了。4.所以我們采用從往前的遍歷方式 332-->329-->299 */string str = to_string(n);//轉化為字符串int flag = 0;for(int i = str.size() -1; i > 0; i--) {if(str[i-1] > str[i]) {flag = i;//這里記錄我們從哪開始是9str[i-1]--;}} for(int i = flag; i < str.size() && flag != 0; i++) {str[i] = '9';}return stoi(str);//將字符串轉化為數字} };總結
以上是生活随笔為你收集整理的leetcode738. 单调递增的数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于插值的相关理解
- 下一篇: leetcode714.买卖股票的