算法训练day37|贪心算法part06

2023-12-15 14:44:49

738.单调递增的数字

遇到了strNum[i - 1] > strNum[i],让strNum[i - 1]--,然后strNum[i]及以后给为9

根据这种情况从后往前遍历

class Solution {
    public int monotoneIncreasingDigits(int n) {
        String s = String.valueOf(n);
        char[] chars = s.toCharArray();
        int start = s.length();
        for (int i = s.length() - 2; i >= 0; i--) {
            if (chars[i] > chars[i + 1]) {
                chars[i]--;
                start = i+1;
            }
        }
        for (int i = start; i < s.length(); i++) {
            chars[i] = '9';
        }
        return Integer.parseInt(String.valueOf(chars));
    }
}

贪心算法总结:

没有固定套路,更多是记忆

文章来源:https://blog.csdn.net/AdrianLeon/article/details/135015638
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。