贪心
文章平均质量分 51
Sun_Sky_Sea
站在巨人的肩膀上
展开
-
659. 分割数组为连续子序列
659. 分割数组为连续子序列原始题目链接:https://leetcode.cn/problems/split-array-into-consecutive-subsequences/给你一个按升序排序的整数数组 num(可能包含重复数字),请你将它们分割成一个或多个长度至少为 3 的子序列,其中每个子序列都由连续整数组成。如果可以完成上述分割,则返回 true ;否则,返回 false 。示例 1:输入: [1,2,3,3,4,5]输出: True解释:你可以分割出这样两个连续子序列 :原创 2022-05-21 16:52:53 · 142 阅读 · 0 评论 -
946. 验证栈序列
946. 验证栈序列原始题目链接:https://leetcode.cn/problems/validate-stack-sequences/给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1原创 2022-05-15 23:37:51 · 366 阅读 · 0 评论 -
678. 有效的括号字符串
215. 数组中的第K个最大元素原始题目链接:https://leetcode-cn.com/problems/kth-largest-element-in-an-array/给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4解题思路:原创 2022-03-22 23:03:32 · 97 阅读 · 0 评论 -
406. 根据身高重建队列
406. 根据身高重建队列原始题目链接:https://leetcode-cn.com/problems/queue-reconstruction-by-height/假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。请你重新构造并返回输入数组 people 所表示的队列。返回的队列应该格式化为数组 queue ,其中 qu原创 2021-11-02 23:18:35 · 53 阅读 · 0 评论 -
376. 摆动序列
376. 摆动序列原始题目链接:https://leetcode-cn.com/problems/wiggle-subsequence/如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5,原创 2021-11-01 19:40:01 · 292 阅读 · 0 评论 -
45. 跳跃游戏 II
45. 跳跃游戏 II原始题目链接:https://leetcode-cn.com/problems/jump-game-ii/给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后原创 2021-11-01 16:42:45 · 1544 阅读 · 0 评论 -
435. 无重叠区间
435. 无重叠区间原始题目链接:https://leetcode-cn.com/problems/non-overlapping-intervals/给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [原创 2021-10-31 22:57:20 · 89 阅读 · 0 评论 -
334. 递增的三元子序列
334. 递增的三元子序列原始题目链接:https://leetcode-cn.com/problems/increasing-triplet-subsequence/给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。示例 1:输入:nums = [1,2,3,4,原创 2021-10-28 21:18:20 · 62 阅读 · 0 评论 -
611. 有效三角形的个数
611. 有效三角形的个数原始题目链接:https://leetcode-cn.com/problems/valid-triangle-number/给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例 1:输入: [2,2,3,4]输出: 3解释:有效的组合是:2,3,4 (使用第一个 2)2,3,4 (使用第二个 2)2,2,3注意:数组长度不超过1000。数组里整数的范围为 [0, 1000]。解题思路:判断三条边能组成三角形的条件为:任原创 2021-10-23 23:57:00 · 97 阅读 · 0 评论 -
134. 加油站
加油站原始题目链接:https://leetcode-cn.com/problems/gas-station/在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。说明:如果题目有解,该答案即为唯一答案。输入数组均为非空数组,且长度相同。输入数组中的元素.原创 2021-10-22 22:41:23 · 52 阅读 · 0 评论 -
面试题 10.11. 峰与谷
面试题 10.11. 峰与谷原始题目链接:https://leetcode-cn.com/problems/peaks-and-valleys-lcci/submissions/在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。例如,在数组{5, 8, 4, 2, 3, 4, 6}中,{8, 6}是峰, {5, 2}是谷。现在给定一个整数数组,将该数组按峰与谷的交替顺序排序。示例:输入: [5, 3, 1, 2, 3]输出: [5, 1, 3, 2, 3原创 2021-10-20 00:10:08 · 151 阅读 · 0 评论 -
面试题 16.16. 部分排序
面试题 16.16. 部分排序原始题目链接:https://leetcode-cn.com/problems/sub-sort-lcci/给定一个整数数组,编写一个函数,找出索引m和n,只要将索引区间[m,n]的元素排好序,整个数组就是有序的。注意:n-m尽量最小,也就是说,找出符合条件的最短序列。函数返回值为[m,n],若不存在这样的m和n(例如整个数组是有序的),请返回[-1,-1]。示例:输入: [1,2,4,7,10,11,7,12,6,7,16,18,19]输出: [3,9]提示:0原创 2021-10-19 00:08:09 · 78 阅读 · 0 评论 -
55. 跳跃游戏
55. 跳跃游戏原始题目链接:https://leetcode-cn.com/problems/jump-game/给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。解题思路:贪心算法解题: 如果当前数组元素所表示的步数能够到达最后的位置,那么该元素之前的位置元素也一定能够走到最后的位置。所以就看能够到达最远的位置是否大于等于最后的数组位置下标,大于等于的话就一定到达最后的位置。具体看代码及注释原创 2021-08-10 16:25:54 · 53 阅读 · 0 评论