
贪心算法
文章平均质量分 55
贪心
YXXYX
精通CV编程
展开
-
968. 监控二叉树(递归+贪心)
给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例 1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台摄像头足以监控所有节点。示例 2:输入:[0,0,null,0,null,0,null,null,0]输出:2解释:需要至少两个摄像头来监视树的所有节点。 上图显示了摄像头放置的有效位置之一。提示:给定树的节点数的范围是 [1, 1000]。每个节点的值都是 0。原创 2021-08-14 10:46:53 · 243 阅读 · 0 评论 -
738. 单调递增的数字(贪心算法)
给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299————————————————————————————————————————————————————————这道题贪心算法思路就是:局部原创 2021-08-13 19:18:49 · 269 阅读 · 0 评论 -
435. 无重叠区间(贪心算法)
给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2], [1,2] ]输出: 2解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。示例 3:输入: [ [原创 2021-08-13 12:16:59 · 304 阅读 · 0 评论 -
135. 分发糖果(贪心算法)
老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入:[1,0,2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。示例 2:输入:[1,2,2]输出:4解释:你可以分别给这三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖原创 2021-08-12 12:11:15 · 1453 阅读 · 0 评论 -
134. 加油站(贪心算法)
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素均为非负数。示例 1:输入:gas = [1,2,3,4,5]cost = [3,4,5,1,2]输出原创 2021-08-12 11:07:14 · 522 阅读 · 0 评论