C++ day37 贪心算法 单调递增的数字 监控二叉树

题目1:738 单调递增的数字

题目链接:单调递增的数字

对题目的理解

返回小于或等于n的最大数字,且数字是单调递增(单调递增数字的定义:每个相邻位上的数字满足x<=y

贪心算法

注意本题的遍历顺序是从后往前遍历

伪代码

代码

cpp 复制代码
class Solution {
public:
    int monotoneIncreasingDigits(int n) {
        //将数字转换为字符串
        string str = to_string(n);
        int flag = str.size();
        //从后往前遍历
        for(int i=str.size()-1;i>0;i--){
            if(str[i]<str[i-1]){
                str[i-1]--;
                flag = i;//从i往后,都是9
            }
        }
        for(int j = flag;j<str.size();j++){
            str[j] = '9';
        }
        return stoi(str);

    }
};
  • 时间复杂度:O(n),n 为数字长度
  • 空间复杂度:O(n),需要一个字符串,转化为字符串操作更方便

题目2:968 监控二叉树

题目链接:监控二叉树

对题目的理解

节点上安装摄像头,每个摄像头都可以监控其父对象,自身及其直接子对象,求所有节点所需最小摄像头的数量。

相关推荐
saltymilk21 小时前
使用 C++ 模拟 ShaderLanguage 的 swizzle
c++·模板元编程
zone773921 小时前
006:RAG 入门-面试官问你,RAG 为什么要切块?
后端·算法·面试
CoovallyAIHub1 天前
OpenClaw 近 2000 个 Skills,为什么没有一个好用的视觉检测工具?
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
CVPR 2026 | 用一句话告诉 AI 分割什么——MedCLIPSeg 让医学图像分割不再需要海量标注
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
Claude Code 突然变成了 66 个专家?这个 5.8k Star 的开源项目,让我重新理解了什么叫"会用 AI"
深度学习·算法·计算机视觉
兆子龙1 天前
前端哨兵模式(Sentinel Pattern):优雅实现无限滚动加载
前端·javascript·算法
xlp666hub1 天前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
CoovallyAIHub1 天前
9个视觉语言模型工厂实测:Qwen 87.9%碾压全场,你的显卡能跑哪个?
算法
SparkX开源AI知识库1 天前
手摸手带你安装OpenClaw并对接飞书
算法·架构
得物技术1 天前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试