代码随想录算法训练营第三十一天|738.单调递增的数字 968.监控二叉树

738.单调递增的数字

这个和贪心有什么关系,我直接看解析了,从最大向最小遍历,然后判断是不是满足递增,这样可能是超时的,贪心的规则比较抽象,首先遍历的顺序应当是从后向前遍历,一旦出现前一位比后一位大的情况,就要让前一位-1,后一位变成9(需要让后面的都变成9,不然不满足递归性质了),这里要处理一下如果前一位-1变成0的情况,好像不用处理

python 复制代码
class Solution:
    def monotoneIncreasingDigits(self, n: int) -> int:
        if n<=9:
            return n
        nums = list(str(n))
        for i in range(len(nums)-1,0,-1):
            if nums[i-1]>nums[i]:
                nums[i-1]=str(int(nums[i-1])-1)
                for j in range(i,len(nums)):
                    nums[j]='9'
        return int(''.join(nums))

968.监控二叉树

我感觉这个应该从底下向上遍历,遇到一个有孩子节点且孩子节点没有被监控的话,就把当前节点监控,指导所有都被监控,我们要考虑遍历的方式

跳了

相关推荐
roman_日积跬步-终至千里1 小时前
【机器学习】两大线性分类算法:逻辑回归与线性判别分析:找到分界线的艺术
算法·机器学习·分类
YuTaoShao1 小时前
【LeetCode 热题 100】739. 每日温度——(解法一)单调栈+从右到左
java·算法·leetcode·职场和发展
Spider_Man1 小时前
栈中藏玄机:从温度到雨水,单调栈的逆袭之路
javascript·算法·leetcode
爱吃KFC的大肥羊2 小时前
C/C++常用字符串函数
c语言·数据结构·c++·算法
im_AMBER2 小时前
Leetcode 11 java
java·算法·leetcode
丶小鱼丶2 小时前
二叉树算法之【Z字型层序遍历】
java·算法
武文斌773 小时前
嵌入式——数据结构:基础知识和链表①
数据结构
岁忧4 小时前
(nice!!!)(LeetCode 每日一题) 2561. 重排水果 (哈希表 + 贪心)
java·c++·算法·leetcode·go·散列表
先做个垃圾出来………4 小时前
1. 两数之和
算法·leetcode·职场和发展
神器阿龙4 小时前
排序算法-冒泡排序
数据结构·算法·排序算法