Day37 贪心算法part06

单调递增的数字

python 复制代码
class Solution:
    def monotoneIncreasingDigits(self, n: int) -> int:
        
        nl = [int(char) for char in str(n)]

        for i in range(len(nl)-1, 0, -1):
            if nl[i-1] > nl[i]:
                nl[i-1] -= 1
                nl[i] = 9
                for j in range(i, len(nl)):
                    nl[j] = 9
                
        return int("".join(str(x) for x in nl))

前面都想到了,结果最后n[i]给写错了直接写成9了,得把后面的全都改成9才行

监控二叉树

摄像头的覆盖范围是上中下

遇到叶子结点,放到叶子结点的父节点

每隔两个空节点放一个摄像头

所以要用后序遍历

把结点分为三个状态:0无覆盖1有摄像头2有覆盖

空节点要设置为有覆盖的状态

太难劝退

相关推荐
LYFlied7 分钟前
【每日算法】LeetCode 84. 柱状图中最大的矩形
前端·算法·leetcode·面试·职场和发展
CoderCodingNo24 分钟前
【GESP】C++三级真题 luogu-B4414 [GESP202509 三级] 日历制作
开发语言·c++·算法
Liangwei Lin31 分钟前
洛谷 P1955 [NOI2015] 程序自动分析
算法
zwjapple1 小时前
全栈开发面试高频算法题
算法·面试·职场和发展
不穿格子的程序员1 小时前
从零开始写算法——链表篇5:K个一组翻转链表 + 排序链表
算法·链表·分治
青鸟2181 小时前
从资深开发到脱产管理的心态转变
后端·算法·程序员
晨曦夜月1 小时前
笔试强训day7
开发语言·c++·算法
iAkuya1 小时前
(leetcode)力扣100 14合并区间(差分/排序)
算法·leetcode·职场和发展
leiming62 小时前
C++ 02 函数模板案例
开发语言·c++·算法
自然常数e2 小时前
深入理解指针(6)
c语言·数据结构·算法·visual studio