![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
队列
文章平均质量分 55
leetcode 队列
luna0_0
这个作者很懒,什么都没留下…
展开
-
【leetcode 621. 任务调度器】
621. 任务调度器 题目if - else 为主的条件判断问题 ) 题目 给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。在任何一个单位时间,CPU 可以完成一个任务,或者处于待命状态。 然而,两个 相同种类 的任务之间必须有长度为整数 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。 你需要计算完成所有任务所需要的 最短时间 。 示.原创 2021-12-10 22:06:05 · 124 阅读 · 0 评论 -
【leetcode 969. 煎饼排序】
969. 煎饼排序 题目if - else 为主的条件判断问题 ) 题目 给你一个整数数组 arr ,请使用 煎饼翻转 完成对数组的排序。 一次煎饼翻转的执行过程如下: 选择一个整数 k ,1 <= k <= arr.length 反转子数组 arr[0…k-1](下标从 0 开始) 例如,arr = [3,2,1,4] ,选择 k = 3 进行一次煎饼翻转,反转子数组 [3,2,1] ,得到 arr = [1,2,3,4] 。 以数组形式返回能使 arr 有序的煎饼翻转操作所对应的 k 值.原创 2021-12-10 15:46:33 · 120 阅读 · 0 评论 -
【leetcode 860. 柠檬水找零】
860. 柠檬水找零 题目if - else 为主的条件判断问题 ) 题目 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 .原创 2021-12-10 13:45:27 · 100 阅读 · 0 评论 -
【leetcode 859. 亲密字符串】
859. 亲密字符串 题目考虑两种情况:1.字符串相等时,考虑是否有重复字符 2.字符串不相等时,是否交换可得; ) 题目 给你两个字符串 s 和 goal ,只要我们可以通过交换 s 中的两个字母得到与 goal 相等的结果,就返回 true ;否则返回 false 。 交换字母的定义是:取两个下标 i 和 j (下标从 0 开始)且满足 i != j ,接着交换 s[i] 和 s[j] 处的字符。 例如,在 “abcd” 中交换下标 0 和下标 2 的元素可以生成 “cbad” 。 示例 1:.原创 2021-12-10 13:11:18 · 92 阅读 · 0 评论 -
【leetcode 面试题 17.09. 第 k 个数】
面试题 17.09. 第 k 个数 题目使用dp + 指针 ) 题目 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。 示例 1: 输入: k = 5 输出: 9 使用dp + 指针 class Solution { public int getKthMagicNumber(int k) { int[] dp = new int[k]; .原创 2021-12-09 16:44:51 · 195 阅读 · 0 评论 -
【leetcode 933. 最近的请求次数】
933. 最近的请求次数题目使用队列 题目 写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请你实现 RecentCounter 类: RecentCounter() 初始化计数器,请求数为 0 。 int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。 保证 每次对 ping 的调用都使用比之前更大的 t 值。 示.原创 2021-12-09 16:03:02 · 83 阅读 · 0 评论 -
【leetcode 1670. 设计前中后队列】
1670. 设计前中后队列题目使用两个数组使用链表 题目 请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。 请你完成 FrontMiddleBack 类: FrontMiddleBack() 初始化队列。 void pushFront(int val) 将 val 添加到队列的 最前面 。 void pushMiddle(int val) 将 val 添加到队列的 正中间 。 void pushBack(int val) 将 val 添加到队里的 最后面 。 int popF.原创 2021-12-09 15:30:47 · 106 阅读 · 0 评论 -
【leetcode 641. 设计循环双端队列】
641. 设计循环双端队列题目使用数组 题目 设计实现双端队列。 你的实现需要支持以下操作: MyCircularDeque(k):构造函数,双端队列的大小为k。 insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true insertLast():将一个元素添加到双端队列尾部。如果操作成功返回 true。 deleteFront():从双端队列头部删除一个元素。 如果操作成功返回 true。 deleteLast():从双端队列尾部删除一个元素。如果操作成功返回 true.原创 2021-12-08 16:17:32 · 49 阅读 · 0 评论 -
【leetcode 622. 设计循环队列】
622. 设计循环队列题目使用数组 题目 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 循环队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列满了,我们就不能插入下一个元素,即使在队列前面仍有空间。但是使用循环队列,我们能使用这些空间去存储新的值。 你的实现应该支持如下操作: MyCircularQueue(k): 构造器,设置队列长度为 k 。 Front:.原创 2021-12-08 15:30:50 · 66 阅读 · 0 评论