【代码随想录】day37:递增数字,监控二叉树

递增数字

在这里插入图片描述

def monotoneIncreasingDigits(self, n):""":type n: int:rtype: int"""# 找到不递增的位置i对应的数字k,前一个数字-1,后面都变为9,# 后序遍历n=list(str(n))for i in range(len(n)-1,0,-1):# 如果不递增if n[i] < n[i-1]:# 前一位-1n[i-1]=str(int(n[i-1])-1)# 修改后面的位置都变成9for j in range(i, len(n)):n[j] = '9'return int("".join(n))

监控二叉树

好难…
在这里插入图片描述

class Solution:# 从下往上安装摄像头:跳过leaves这样安装数量最少,局部最优 -> 全局最优# 先给leaves的父节点安装,然后每隔两层节点安装一个摄像头,直到Head# 0: 该节点未覆盖# 1: 该节点有摄像头# 2: 该节点有覆盖def minCameraCover(self, root: TreeNode) -> int:# 定义递归函数result = [0]  # 用于记录摄像头的安装数量if self.traversal(root, result) == 0:result[0] += 1return result[0]def traversal(self, cur: TreeNode, result: List[int]) -> int:if not cur:return 2left = self.traversal(cur.left, result)right = self.traversal(cur.right, result)# 情况1: 左右节点都有覆盖if left == 2 and right == 2:return 0# 情况2:# left == 0 && right == 0 左右节点无覆盖# left == 1 && right == 0 左节点有摄像头,右节点无覆盖# left == 0 && right == 1 左节点无覆盖,右节点有摄像头# left == 0 && right == 2 左节点无覆盖,右节点覆盖# left == 2 && right == 0 左节点覆盖,右节点无覆盖if left == 0 or right == 0:result[0] += 1return 1# 情况3:# left == 1 && right == 2 左节点有摄像头,右节点有覆盖# left == 2 && right == 1 左节点有覆盖,右节点有摄像头# left == 1 && right == 1 左右节点都有摄像头if left == 1 or right == 1:return 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/800394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringMVC--概述 / 入门

目录 1. SpringMVC简介 2. 配置&入门 2.1. 开发环境 2.2. 创建maven工程 2.3. 手动创建 web.xml 2.4. 配置web.xml 2.4.1. 默认配置方式 2.4.2. 扩展配置方式 2.5. 创建请求控制器 2.6. 创建springMVC的配置文件 2.7. 测试 HelloWorld 2.7.1. 实现对首页的访问…

基于java+springboot+vue实现的教学辅助系统(文末源码+Lw)23-225

摘 要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xff0c;而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播&#xff0c;搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱&#xff0c;出错率高&#xff0c;信息安全性差&#…

如何在Linux中安装NVM(Node Version Manager)

NVM&#xff08;Node Version Manager&#xff09;是一个命令行工具&#xff0c;允许您轻松在同一台计算机上安装和管理多个版本的Node.js。它是Node.js开发者的神器&#xff0c;特别适用于需要在不同项目间切换Node.js版本的场景。下面是在Linux系统上安装NVM的详细步骤&#…

健康元 穿越周期看底色

中国创新药正在迈进2.0时代。 进入2024年之后&#xff0c;越来越多的国内创新药企开始主动调整研发管线&#xff0c;缩减研发开支&#xff0c;甚至是直接被“溢出”了市场。 在“风向标”的融资端&#xff0c;过去的2023年也是中国创新药融资市场连续第二年出现一二级市场融资…

启航IT行业:零基础者的入门指南

随着数字化转型成为全球趋势&#xff0c;IT行业的需求日益增长&#xff0c;吸引了大量寻求职业转型的人群。对于那些没有任何相关背景的人来说&#xff0c;踏入IT的大门可能看起来不易&#xff0c;但是通过一些明智的策略和持续的努力&#xff0c;实现这一跳跃并非遥不可及。以…

python教程(4更新中)

单元测试 如果你听说过“测试驱动开发”&#xff08;TDD&#xff1a;Test-Driven Development&#xff09;&#xff0c;单元测试就不陌生。 单元测试是用来对一个模块、一个函数或者一个类来进行正确性检验的测试工作。 比如对函数abs()&#xff0c;我们可以编写出以下几个测…

逆向入门:为CTF国赛而战day03

今天来做几道题目。 环境准备&#xff1a;ida ,Exeinfo,万能脱壳器&#xff08;后面有写资源&#xff09; 强推&#xff0c;亲测有效CTF小工具下载整理_ctf工具御剑下载-CSDN博客 [网站BUUCTF] 目录 题目一 题目二三 题目4&#xff1a;新年快乐 题目一 easyre题解_easyr…

电脑硬件 - 硬盘

硬盘是一台电脑的数据中心&#xff0c;存放着我们用户的所有文件和数据 对于一块硬盘&#xff0c;其重要指标&#xff1a;顺序读写能力&#xff0c;随机读写能力 顺序读写影响大文件的拷贝&#xff0c;随机读写影响大量小文件的拷贝&#xff08;打开软件的快慢&#xff09; 因…

【算法详解】双指针

双指针 常见的双指针有两种形式&#xff0c;一种是对撞指针&#xff0c;一种是左右指针。 1. 双指针简介 双指针&#xff08;Two Pointers&#xff09;&#xff1a;指的是在遍历元素的过程中&#xff0c;不是使用单个指针进行访问&#xff0c;而是使用两个指针进行访问&#…

vue2转vue3一些属性使用方法总结 (持续更新中)

1.vue3中不再需要用this.$set 方法 在 Vue 3 中&#xff0c;this. s e t 方法不再存在&#xff0c;因为 V u e 3 使用了 P r o x y 来实现其响应式系统&#xff0c;使得对象的属性访问和修改都能够被自动追踪。因此&#xff0c;在 V u e 3 中&#xff0c;你通常不需要使用特殊的…

chrome google浏览器添加插件扩展失败怎么办,无法从该网站添加应用、扩展程序和用户脚本确定,

无法从该网站添加应用、扩展程序和用户脚本确定 chrome google浏览器添加插件扩展失败怎么办&#xff0c;无法从该网站添加应用、扩展程序和用户脚本确定&#xff0c; 需要打开调试模式 chrome://extensions/

【Vue】Vue3父子组件相互调用示例

目录 1. 父调子示例1.1 父组件1.2 子组件 2. 子调父示例2.1 父组件2.2 子组件 Tips&#xff1a;使用场景情况有很多&#xff0c;通常常见于页面表单赋值&#xff0c;表单属性页面回显。 页面给弹窗dialog表单赋值&#xff0c;通常情况为父传子&#xff1b;而表单提交后回传给页…

第32篇:实时时钟

Q&#xff1a;本期我们使用BCD计数器设计实现分--秒--厘秒实时时钟。 A&#xff1a;实时时钟设计&#xff1a;在2个七段数码管上显示分钟&#xff08;从0到59&#xff09;&#xff0c;在2个七段数码管显示秒&#xff08;从0到59&#xff09;&#xff0c;在2个七段数码管上显示…

要不要那么卷啊?前端是不是死了?

最近在找前端工作。发现好多还要求至少会一个后端的语言php或者java。这个我理解毕竟要和后端对接要求懂点也是可以的。但是最近发现还要会设计&#xff0c;有设计感可以自己设计。what&#xff1f;这我都会了。工资总是要多一点吧&#xff1f;结果工作经验3-5年竟然9k-12k。离…

信息工程大学第五届超越杯程序设计竞赛(同步赛)vp

目录 A.遗失的旋律 C.财政大臣 D.实验室有多少人 E.在雾中寻宁静 F.不规则的轮回 G.完美数字 M.Monikas game A.遗失的旋律 思路&#xff1a;模拟即可 代码如下&#xff1a; #include<bits/stdc.h>using namespace std; #define fs first #define sc second #de…

中国平安八度蝉联Brand Finance全球保险品牌价值第一,品牌价值持续增长4.2%

近日&#xff0c;国际知名品牌价值评级机构Brand Finance发布《2024年全球保险品牌价值100强》&#xff0c;中国平安连续第八年蝉联全球第一&#xff0c;品牌价值高达336亿美元&#xff0c;较上年增长4.2%。榜单其余前五位依次为德国安联保险、中国人寿、法国安盛保险、中国太平…

JavaScript的事件对象

event 对象包含“与创建它的事件有关的”属性和方法。触发的事件类型不一样&#xff0c;可用的属性和方法不一样。 1.什么是事件对象 官方解释&#xff1a;event 对象代表事件的状态&#xff0c;比如键盘按键的状态、鼠标的位置、鼠标按钮的状态等。简单理解&#xff1a;事件发…

目标检测——RCNN系列学习(一)

前置知识 包括&#xff1a;非极大值抑制&#xff08;NMS&#xff09;、selective search等 RCNN [1311.2524] Rich feature hierarchies for accurate object detection and semantic segmentation (arxiv.org)https://arxiv.org/abs/1311.2524 1.网络训练 2.推理流程 3.总…

leetcode/2024.4.8/双指针简单题(1)

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: nums [0] 输出: […

Vant使用自定义图标(阿里图标)

前言 阿里图标官网 备用地址&#xff1a; https://www.iconfont.cn/ 添加图标 1、进入官网添加图标&#xff0c;如箭头所示 2、复制如图选中的文件&#xff0c;粘贴项目中的src/assets/icon_font/目录下 3、在main.js引入图标css //引入自定义图标 import /assets/icon_fon…