
leetcode刷题/栈和队列
文章平均质量分 67
公仔面i
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode刷题/栈和队列 347. 前 K 个高频元素
347. 前 K 个高频元素题意:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]解题思路:先用map计数.然后根据计数的值构造大根堆,也就是优先队列的大顶堆.每一次都取最顶上的元素,然后出列.循环K次即可代码:class Solution {原创 2021-07-23 14:15:49 · 280 阅读 · 0 评论 -
leetcode刷题/栈和队列 239. 滑动窗口最大值
239. 滑动窗口最大值题意:给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1] -3 5原创 2021-07-23 14:13:41 · 208 阅读 · 0 评论 -
leetcode刷题/栈和队列 150. 逆波兰表达式求值
150. 逆波兰表达式求值题意:根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入:tokens = ["4","1原创 2021-07-22 09:56:57 · 193 阅读 · 0 评论 -
leetcode刷题/栈和队列 1047. 删除字符串中的所有相邻重复项
1047. 删除字符串中的所有相邻重复项题意:给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以原创 2021-07-22 09:29:04 · 274 阅读 · 1 评论 -
leetcode刷题/栈和队列 20. 有效的括号
20. 有效的括号题意:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:1.左括号必须用相同类型的右括号闭合。2.左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:tru原创 2021-07-21 22:59:39 · 146 阅读 · 0 评论 -
leetcode刷题/栈和队列 225. 用队列实现栈
225. 用队列实现栈题意:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类:void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。注意:你只能使用队列的基本操作 —— 也就是 push to back、peek/pop fr原创 2021-07-21 20:19:46 · 169 阅读 · 0 评论 -
leetcode刷题/栈和队列 232. 用栈实现队列
232. 用栈实现队列题意:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop f原创 2021-07-21 18:14:15 · 432 阅读 · 2 评论