
贪心
文章平均质量分 50
追光者2020
没有实力的愤怒毫无意义。
展开
-
LeetCode 406. 根据身高重建队列(贪心)
406. 根据身高重建队列假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 queue[j] = [hj, kj] 是队列中第 j 个人的属性(queue[0] 是排在队列前面的人)。示例 1:输入:people = [原创 2021-09-21 09:40:14 · 127 阅读 · 0 评论 -
letcode 768. 最多能完成排序的块 II (贪心)
768. 最多能完成排序的块 II这个问题和“最多能完成排序的块”相似,但给定数组中的元素可以重复,输入数组最大长度为2000,其中的元素最大为10**8。arr是一个可能包含重复元素的整数数组,我们将这个数组分割成几个“块”,并将这些块分别进行排序。之后再连接起来,使得连接的结果和按升序排序后的原数组相同。我们最多能将数组分成多少块?示例 1:输入: arr = [5,4,3,2,1]输出: 1解释:将数组分成2块或者更多块,都无法得到所需的结果。例如,分成 [5, 4], [3, 2, 1原创 2021-09-20 11:13:24 · 138 阅读 · 0 评论 -
leetcode 55 跳跃游戏 and 45. 跳跃游戏 II
题目描述给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下原创 2021-08-21 11:50:16 · 136 阅读 · 0 评论 -
leetcode 68 验证回文串Ⅱ(贪心)
题目描述给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: s = “aba”输出: true示例 2:输入: s = “abca”输出: true解释: 你可以删除c字符。示例 3:输入: s = “abc”输出: false判断回文串通常的做法是使用双指针,在本题目中需要删除字符,删除字符只可能是不相等的时候删除,可以分为两种情况删除,一种是删除尾部字符,一种是删除头部字符,然后再判断删除后的字符是否为回文串即可。class Solution原创 2021-08-06 22:06:00 · 110 阅读 · 0 评论 -
leetcode 300 最长上升子序列 (贪心+二分解法)
题目描述链接原创 2021-07-21 09:17:15 · 180 阅读 · 0 评论 -
leetcode 674. 最长连续递增序列(贪心)
题目描述给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], …, nums[r - 1], nums[r]] 就是连续递增子序列。示例 1:输入:nums = [1,3,5,4,7]输出:3解释:最长连续递增序列是 [1,3,5], 长度为原创 2021-07-17 16:20:38 · 198 阅读 · 0 评论 -
LeetCode 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-06-15 21:30:52 · 127 阅读 · 0 评论 -
几步可以从头跳到尾
题目描述给你一个长度为n的数组A。A[i]表示从i这个位置开始最多能往后跳多少格。求从1开始最少需要跳几次就能到达第n个格子。示例1输入 :2,[1,2]返回值 :1说明:从1号格子只需要跳跃一次就能到达2号格子示例2输入 :3,[2,3,1]返回值 :1说明:从1号格子只需要跳一次就能直接抵达3号格子题解:能否到达指定的格子意思是经过前面某一格子跳跃到该格子或者跳跃的距离大于该格子的距离。即记录最后一次跳跃的结束位置,如果上次跳跃的结束最大位置等于当前位置,但还没到达指定位置时,原创 2021-05-09 10:08:24 · 498 阅读 · 0 评论 -
leetcode 135 分发糖果
题目描述老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?示例 1:输入:[1,0,2]输出:5解释:你可以分别给这三个孩子分发 2、1、2 颗糖果。链接:https://leetcode-cn.com/problems/candy两次遍历:从左向右遍历:左边原创 2021-05-08 20:54:23 · 136 阅读 · 0 评论 -
主持人调度(区间分组问题)
题目描述有n个活动即将举办,每个活动都有活动的开始时间与活动的结束时间,第i个活动的开始时间是start_i,第i个活动的结束时间是end_i,举办某个活动就需要为该活动准备一个活动主持人。一位活动主持人在同一时间只能参与一个活动。并且活动主持人需要全程参与活动,换句话说,活动主持人参与了第i个活动,那么该主持人在start_i,end_i 这个时间段不能参与其他任何活动。求为了成功举办这n个活动,最少需要多少名主持人。示例1输入 2,[[1,2],[2,3]]返回值 1说明:只需要一个主持人原创 2021-05-08 20:18:03 · 1379 阅读 · 0 评论