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 监控二叉树

题目链接:监控二叉树

对题目的理解

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

相关推荐
4***R24022 分钟前
C++在音视频处理中的库
开发语言·c++·音视频
2301_8234380228 分钟前
解析论文《复杂海上救援环境中无人机群的双阶段协作路径规划与任务分配》
人工智能·算法·无人机
周一上线36 分钟前
EDA 中的 DRC检测——并查集优化mincut规则检测
c++·eda·经验·工艺
embrace991 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
Ayanami_Reii1 小时前
基础数学算法-开关问题
数学·算法·高斯消元
稚辉君.MCA_P8_Java1 小时前
通义 Go 语言实现的插入排序(Insertion Sort)
数据结构·后端·算法·架构·golang
1***s6322 小时前
C++移动语义优化
开发语言·c++
稚辉君.MCA_P8_Java2 小时前
Gemini永久会员 Go 实现动态规划
数据结构·后端·算法·golang·动态规划
快手技术2 小时前
快手 & 南大发布代码智能“指南针”,重新定义 AI 编程能力评估体系
算法
Murphy_lx3 小时前
C++ std_stringstream
开发语言·c++·算法