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

738.单调递增的数字

cpp 复制代码
class Solution {
public:
    int monotoneIncreasingDigits(int n) {
        string a = to_string(n);
        int k = 0;
        for (int i = a.size() - 1; i > 0; i--) {
            if (a[i] < a[i - 1]) {
                k = i;
                a[i-1]--;
            }
        }
        cout << k << endl;
        if (k != 0){
            for (int i = a.size() - 1; i >= k; i--) {
                a[i] = '9';
            }
    }
    return stoi(a);
}
}
;

968.监控二叉树

cpp 复制代码
class Solution {
public:
    int ans = 0;
    // 0是未被覆盖,1是摄像头位,2是被覆盖
    int dfs(TreeNode* node) {
        if (node==NULL)
            return 2;
        int left = dfs(node->left);
        int right = dfs(node->right);
        if (left == 0 || right == 0) {
            ans++;
            return 1;
        }
        if (left == 1 || right == 1) {
            return 2;
        }
        return 0;
    }
    int minCameraCover(TreeNode* root) {
        if (dfs(root) == 0)
            ans++;
        return ans;
    }
};
相关推荐
Jerry4 小时前
LeetCode 189. 轮转数组
算法
Jerry5 小时前
LeetCode 739. 每日温度
算法
2601_954526759 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
叩码以求索10 小时前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
c2385612 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
aaaameliaaa13 小时前
指针之总结
c语言·笔记·算法
宵时待雨13 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz13 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf21613 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
noipp14 小时前
推荐题目:洛谷 P6231 [JSOI2013] 公交系统
c语言·数据结构·c++·算法·游戏·洛谷·luogu