Day32- 贪心算法part06
一、单调递增的数字
题目一:738. 单调递增的数字
738. 单调递增的数字
当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。
给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。
从高位到低位遍历整数
n的每一位数字,当发现某一位数字大于其后一位数字时,将这一位数字减一,并将所有更低位的数字设置为 9,以确保结果是单调递增的。
/** @lc app=leetcode.cn id=738 lang=cpp** [738] 单调递增的数字*/// @lc code=start
class Solution {
public:int monotoneIncreasingDigits(int n) {string str = to_string(n);int marker = str.size();for (int i = str.size() - 1; i > 0; i--) {if (str[i] < str[i - 1]) {marker = i;str[i - 1] = str[i - 1] - 1;}}for (int i = marker; i < str.size(); i++) {str[i] = '9';}return stoi(str);}
};
// @lc code=end
二、监控二叉树
题目一:968. 监控二叉树
968. 监控二叉树
给定一个二叉树,我们在树的节点上安装摄像头。
节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。
计算监控树的所有节点所需的最小摄像头数量。
基本思路是从叶子节点开始向上,尽量在每个节点的父节点上安装摄像头,以覆盖尽可能多的节点。这样可以保证使用最少的摄像头覆盖所有节点。
可以定义三种状态:
- 0:这个节点尚未被覆盖。
- 1:这个节点有一个摄像头。
- 2:这个节点已被覆盖,但没有摄像头。
/** @lc app=leetcode.cn id=968 lang=cpp** [968] 监控二叉树*/// @lc code=start
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int minCameraCover(TreeNode* root) {int cameras = 0;int top = dfs(root, cameras);return cameras + (top == 0 ? 1 : 0);}private:int dfs(TreeNode* node, int& cameras) {if (!node) return 2;int left = dfs(node->left, cameras);int right = dfs(node->right, cameras);if (left == 0 || right == 0) {cameras++;return 1;}return (left == 1 || right == 1) ? 2 : 0;}
};
// @lc code=end
相关文章:
Day32- 贪心算法part06
一、单调递增的数字 题目一:738. 单调递增的数字 738. 单调递增的数字 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时,我们称这个整数是单调递增的。 给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递…...
.NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
Flurl.Http-3.2.4 升级到 4.0.0 版本后,https请求异常:Call failed. The SSL connection could not be established. 如下图: Flurl.Http-3.2.4版本绕过https的代码,对于 Flurl.Http-4.0.0 版本来说方法不再适用,3.2.…...
【每周AI简讯】GPT-5将有指数级提升,GPT Store正式上线
AI7 - Chat中文版最强人工智能 OpenAI的CEO奥特曼表示GPT-5将有指数级提升 GPT奥特曼参加Y-Combinator W24启动会上表示,我们已经非常接近AGI。GPT-5将具有更好的推理能力、更高的准确性和视频支持。 GPT Store正式上线 OpenAI正式推出GPT store,目前…...
QT上位机开发(MFC vs QT)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在qt之前,上位机开发的主要方法就是mfc。后来出现了c#语言之后,上位机的开发就有一部分人转成了c#。这些开发都是在windows平台完成的,而linux上面的界面,则都是通过各种小众库…...
线性代数:矩阵的定义
目录 一、定义 二、方阵 三、对角阵 四、单位阵 五、数量阵 六、行(列)矩阵 七、同型矩阵 八、矩阵相等 九、零矩阵 十、方阵的行列式 一、定义 二、方阵 三、对角阵 四、单位阵 五、数量阵 六、行(列)矩阵 七、同型矩…...
k8s 使用cert-manager证书管理自签
个人建议使用安装更快,比helm快,还要等待安装crd kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.yaml#官网 https://cert-manager.io/docs/installation/kubectl/#创建自签的ClusterIssuer c…...
SpringSecurity+JWT前后端分离架构登录认证
目录 1. 数据库设计 2. 代码设计 登录认证过滤器 认证成功处理器AuthenticationSuccessHandler 认证失败处理器AuthenticationFailureHandler AuthenticationEntryPoint配置 AccessDeniedHandler配置 UserDetailsService配置 Token校验过滤器 登录认证过滤器接口配置…...
笔试面试题——二叉树进阶(一)
📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、根据二叉树创建字符串1、题目讲解2、思路讲解3、代码实现 二、二叉树的分层遍历1、题目讲…...
Java反射示例
Java反射示例 创建数据类型ReflectPoint.java package com.reflection;import java.util.Date;public class ReflectPoint {private Date birthday new Date();private int x;public int y;public String str1 "ball";public String str2 "basketball"…...
【WinForm.NET开发】实现使用后台操作的窗体
本文内容 创建使用后台操作的窗体使用设计器创建 BackgroundWorker添加异步事件处理程序添加进度报告和取消支持Checkpoint 如果某项操作需要很长的时间才能完成,并且不希望用户界面 (UI) 停止响应或阻塞,则可以使用 BackgroundWorker 类在另一个线程上…...
【操作系统和计网从入门到深入】(四)基础IO和文件系统
前言 这个专栏其实是博主在复习操作系统和计算机网络时候的笔记,所以如果是博主比较熟悉的知识点,博主可能就直接跳过了,但是所有重要的知识点,在这个专栏里面都会提到!而且我也一定会保证这个专栏知识点的完整性&…...
四.Winform使用Webview2加载本地HTML页面并互相通信
Winform使用Webview2加载本地HTML页面并互相通信 往期目录本节目标核心代码实现HTML代码实现的窗体Demo2代码效果图 往期目录 往期相关文章目录 专栏目录 本节目标 实现刷新按钮点击 C# winform按钮可以调用C# winform代码显示到html上点击HTML按钮可以调用C# winform代码更…...
如何有效清理您的Python环境:清除Pip缓存
Python是一个广泛使用的高级编程语言,以其强大的库和框架而闻名。然而,随着时间的推移和不断安装新的包,Python环境可能会变得混乱不堪,尤其是pip缓存可能占用大量的磁盘空间。本文将向您展示如何有效地清理pip缓存,保…...
Jira 母公司全面停服 Server 产品,用户如何迁移至极狐GitLab
Jira 母公司即将全面停服旗下部分 Server 端产品的销售和服务支持! Jira 母公司 Atlassian 在几年前确定了公司的战略为“全面上云”,为此做出了停止 Server 产品的销售和支持。整个时间线从 2021 年 2 月 2 日开始,直到今年 2 月 15 日&…...
Docker安装配置OnlyOffice
OnlyOffice 是一款强大的办公套件,你可以通过 Docker 轻松安装和部署它。本文将指导你完成安装过程。 步骤 1:拉取 OnlyOffice Docker 镜像 首先,使用以下命令从 Docker Hub 拉取 OnlyOffice Document Server 镜像: sudo docke…...
启动低轨道卫星LEO通讯产业与6G 3GPP NTN标准
通讯技术10年一个大跃进,从1990年的2G至2000年的3G网路,2010年的4G到近期2020年蓬勃发展的5G,当通讯技术迈入融合网路,当前的 5G 技术不仅可提供高频宽、低延迟,同时可针对企业与特殊需求以 5G 专网的模式提供各式服务…...
PICO Developer Center 创建和调试 ADB 命令
PICO 开发者中心概览 ADB 是一个轻量级的 Android 调试桥(Android Debug Bridge,简称 ADB),用于与 Android 设备进行通信和调试。ADB提供了许多有用的功能,使开发人员能够轻松地管理和调试设备上的应用程序。 你可以使用 PDC 工具来调试系统…...
【VRTK】【PICO】如何快速创建一个用VRTK开发的PICO项目
【背景】 每次新建一个VRTK的PICO项目总是做一些重复工作,于是就想着搞成一个基本的包,把基本的设置都放进去,今后新做项目直接导这个包就行了。 完整资源包请见本篇博客的绑定资源。 【内容简介】 这个包是我为了快速开发基于VRTK的PICO应用设置的基础项目包。每次开发…...
国产操作系统:VirtualBox安装openKylin-1.0.1虚拟机并配置网络
国产操作系统:VirtualBox安装openKylin-1.0.1虚拟机并配置网络 openKylin 操作系统目前适配支持X86、ARM、RISC-V三个架构的个人电脑、平板电脑及教育开发板,可以满足绝大多数个人用户及开发者的使用需求。适用于在VirtualBox平台上安装openKylin-1.0.1…...
本地git切换地区后,无法使用ssh访问github 22端口解决方案
问题 由于放假回家,发现之前一直使用正常的git,与github无法通讯,pull和push都无法连接。报错如下: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. 原因 可能是所…...
PCB文件查看工具探索:OpenBoardView如何突破电路分析效率瓶颈
PCB文件查看工具探索:OpenBoardView如何突破电路分析效率瓶颈 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView 电子工程师们常面临这样的困境:面对复杂的.brd格式文件,要…...
Sentinel-2 Level-2A数据怎么用?从QA60波段解读到实战:去云、计算NDVI/ARVI并导出GeoTIFF
Sentinel-2 Level-2A数据实战指南:从QA60波段解析到植被指数计算全流程 当第一次打开Sentinel-2 Level-2A数据时,很多研究者会被那些看似晦涩的质量波段搞得一头雾水。记得我刚开始处理这些数据时,就曾因为忽略了QA60波段的重要性,…...
VisionPro多模板匹配实战:CogPMAlignMultiTool从入门到精通(附完整代码)
VisionPro多模板匹配实战:CogPMAlignMultiTool从入门到精通 在工业视觉检测领域,多模板匹配技术正成为复杂场景下的关键解决方案。当单一模板无法覆盖产品多变的形态时,CogPMAlignMultiTool展现出强大的适应性。本文将带您深入掌握这一工具的…...
OpenClaw会议纪要神器:GLM-4-7-Flash实时转录与行动项提取
OpenClaw会议纪要神器:GLM-4-7-Flash实时转录与行动项提取 1. 为什么需要本地化的会议纪要工具 上周三的部门例会上,我经历了所有职场人最熟悉的噩梦——会议开到一半,领导突然转向我:"刚才讨论的五个行动项是什么…...
JASP统计分析软件:开源数据分析的技术实践指南
JASP统计分析软件:开源数据分析的技术实践指南 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址: https://…...
OpenClaw飞书机器人:Qwen3-VL:30B多模态应用指南
OpenClaw飞书机器人:Qwen3-VL:30B多模态应用指南 1. 为什么选择OpenClawQwen3-VL:30B组合? 去年冬天,当我第一次尝试用AI助手处理团队飞书群里的图片报销单时,经历了惨痛的失败——要么识别错金额,要么把同事的午餐照…...
BGE Reranker-v2-m3效果展示:原始分数与归一化分数双维度结果对比分析真实案例
BGE Reranker-v2-m3效果展示:原始分数与归一化分数双维度结果对比分析真实案例 1. 系统核心能力概览 BGE Reranker-v2-m3是一个基于先进AI技术的本地文本相关性重排序工具,专门用于评估查询语句与候选文本之间的匹配程度。这个工具的核心价值在于能够智…...
B站视频资源管理利器:DownKyi智能下载与高效处理全方案
B站视频资源管理利器:DownKyi智能下载与高效处理全方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&…...
YOLOv8损失函数魔改实战:5步搞定MPDIoU集成,附metrics.py与loss.py完整修改代码
YOLOv8损失函数魔改实战:5步搞定MPDIoU集成,附metrics.py与loss.py完整修改代码 目标检测模型的性能优化往往从损失函数入手。MPDIoU作为新一代边界框回归损失函数,通过同时考虑两个对角点距离,有效解决了传统IoU系列损失在相同宽…...
NUS-WIDE数据集实战:从原始文件到多模态数据集的完整预处理指南
1. NUS-WIDE数据集简介与下载指南 NUS-WIDE是一个经典的多标签图像数据集,由新加坡国立大学的研究团队构建。这个数据集包含了269,648个样本和81个类别,每个样本可能同时属于多个类别(这就是多标签的含义)。数据集最初是为了研究网…...
