Day 37 | 贪心 738.单调递增的数字 、 968.监控二叉树 、 总结

738.单调递增的数字

题目
文章讲解
视频讲解

思路:从后向前比较(保证调整后依旧递增),当前比后一位大,就减一,start位置前移一位,比较到头后,将其余各位置换成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));
    }
}

968.监控二叉树 (一刷跳过)

题目
文章讲解
视频讲解

总结

文章讲解
如果找出局部最优并可以推出全局最优,就是贪心,如果局部最优都没找出来,就不是贪心,可能是单纯的模拟。

你可能感兴趣的:(二月红,贪心算法,算法,力扣,java)