当前位置: 首页 > news >正文

【代码随想录】算法训练计划37

贪心

1、738. 单调递增的数字

题目:
输入: n = 10
输出: 9

思路:
func monotoneIncreasingDigits(n int) int {// 贪心,利用字符数组s := strconv.Itoa(n)ss := []byte(s)leng := len(ss)if leng <= 1 {return n}for i:=leng-1; i>0; i-- {if ss[i-1] > ss[i] {ss[i-1] -= 1for j:=i; j<leng; j++ {ss[j] = '9'}}}res, _ := strconv.Atoi(string(ss))return res
}

2、968. 监控二叉树

题目:
给定一个二叉树,我们在树的节点上安装摄像头。

节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。

计算监控树的所有节点所需的最小摄像头数量。

思路:

在这里插入图片描述

  • 情况罗列清楚,代码随想录视频比题解好理解多了
  • 0没覆盖,1摄像头,2有覆盖
/*** Definition for a binary tree node.* type TreeNode struct {*     Val int*     Left *TreeNode*     Right *TreeNode* }*/
func minCameraCover(root *TreeNode) int {// 贪心res := 0var backtrack func(*TreeNode) intbacktrack = func(node *TreeNode) int {if node == nil {return 2}left := backtrack(node.Left)right := backtrack(node.Right)if left == 2 && right == 2 {return 0}if left == 0 || right == 0 {res++return 1}if left == 1 || right == 1 {return 2}return -1}if backtrack(root) == 0 { res++ }return res
}
http://www.lryc.cn/news/249173.html

相关文章:

  • 网络基础_1
  • 机器学习:DBSCAN算法(效果比K-means好)
  • 在Spring Boot中隔离@Async异步任务的线程池
  • FFmpeg架构全面分析
  • OAuth(开放授权)介绍
  • Online ddl和replace ddl
  • WEB渗透—反序列化(九)
  • 蓝桥杯day02——第三大的数
  • linux shell中set -e命令的作用
  • linux shell 字符替换命令
  • Vue3生命周期函数(简述题)
  • 11月29日,每日信息差//雷军个人向武汉大学捐赠13亿元现金//看电视默认设置新规一览:开机广告不超 5 秒、不设置一键付费
  • 融资经理简历模板
  • iptables防火墙之SNAT与DNET
  • mysql使用--备份与恢复
  • 【vue实战项目】通用管理系统:信息列表,信息录入
  • 【驱动】SPI驱动分析(六)-RK SPI驱动分析
  • 【Linux】基础IO--文件基础知识/文件操作/文件描述符
  • Intellij IDEA 的安装和使用以及配置
  • Zynq-Linux移植学习笔记之67- 国产ZYNQ上通过GPIO模拟MDC/MDIO协议
  • Zookeeper(一)在WSL单机搭建Zookeeper伪集群
  • QT(18):QString
  • 宏工科技通过CMMI三级认证,软件研发能力获国际权威认可
  • 2次MD5加密——用于分布式对话
  • 用Java制作简易版的王者荣耀
  • android 保活的一种有效的方法
  • kibana安装
  • LV.12 D19 ADC实验 学习笔记
  • ubuntu配置免密登录vscode
  • 软件工程--面向对象分析用通俗语言20小时爆肝总结!(包含用例图、活动图、类图、时序图......)