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

题目链接:监控二叉树

对题目的理解

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

相关推荐
heart_fly_in_sky1 分钟前
RK3576平台OpenCL环境搭建完全指南(Lesson 1)
c++
naruto_lnq2 分钟前
实时语音处理库
开发语言·c++·算法
独自破碎E9 分钟前
【数组】分糖果问题
java·开发语言·算法
努力努力再努力wz12 分钟前
【Linux网络系列】:打破 HTTP 明文诅咒,在Linux 下用 C++ 手搓 HTTPS 服务器全过程!(附实现源码)
linux·服务器·网络·数据结构·c++·http·https
charlie11451419112 分钟前
现代嵌入式 C++——自定义删除器(Custom Deleter)
开发语言·c++·笔记·学习·嵌入式
@Aurora.14 分钟前
优选算法【专题七:分治】
数据结构·算法·排序算法
程序员敲代码吗16 分钟前
C++与硬件交互编程
开发语言·c++·算法
8K超高清17 分钟前
博冠8K广播级讯道摄像机获国际设计大奖
网络·算法·fpga开发·接口隔离原则·智能硬件
你怎么知道我是队长17 分钟前
C语言---排序算法1---冒泡排序法
c语言·算法·排序算法
qq_5375626718 分钟前
C++与Java性能对比
开发语言·c++·算法