代码随想录算法训练营第三十七天|● 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;
    }
};
相关推荐
kevin_kang8 分钟前
第05章 实时语音识别的 ASR 原理
算法
kevin_kang10 分钟前
第04章 断句原理:本地 VAD 与神经网络 VAD
算法
kevin_kang20 分钟前
第06章 文字转语音的 TTS 原理
算法
6Hzlia23 分钟前
【Classic 150 刷题计划】 LeetCode 123. 买卖股票的最佳时机 III | C++ 状态机动态规划与通用交易拓展
c++·算法·leetcode
luj_176838 分钟前
生物体如何应对功能击穿?
c语言·开发语言·c++·经验分享·算法
luj_176840 分钟前
击穿分析五大关键步骤
开发语言·网络·c++·经验分享·算法
星空1 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
shirsl1 小时前
算法 Day3-队列 / deque + 链表
数据结构·python·算法·链表
码流子1 小时前
2026 图像数据标注工具横评:LabelImg / CVAT / Label Studio / X-AnyLabeling / 国产Web平台,到底怎么选?
大数据·人工智能·算法
hansang_IR1 小时前
【题解】[JSOI2016] 最佳团体(分数规划)
c++·算法