
栈与队列
文章平均质量分 74
追梦偏执狂
在疯狂与不疯狂之间游荡,就很nice
展开
-
力扣: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] 提示: 1 <= nums.length <= 105 k 的取值范围是 [1, 数组中不相同的元素的个数] 题目数据保证答案唯一,换句话说,数组中前 k原创 2022-04-27 19:44:05 · 455 阅读 · 0 评论 -
力扣: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 3 6原创 2022-04-27 15:31:14 · 470 阅读 · 0 评论 -
力扣:150. 逆波兰表达式求值
题目链接:150. 逆波兰表达式求值 题目: 根据 逆波兰表示法,求表达式的值。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 注意:两个整数之间的除法只保留整数部分。 可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入:tokens = [“2”,“1”,“+”,“3”,“*”] 输出:9 解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9 示例 2: 输入:to原创 2022-04-26 00:27:24 · 180 阅读 · 0 评论 -
力扣:1047. 删除字符串中的所有相邻重复项
题目链接:1047. 删除字符串中的所有相邻重复项 题目: 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入:“abbaca” 输出:“ca” 解释: 例如,在 “abbaca” 中,我们可以删除 “bb” 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串 “aaca”,其中又只有 “aa” 可以执行重复项删除原创 2022-04-25 23:11:26 · 237 阅读 · 0 评论 -
力扣:20. 有效的括号
题目链接:20. 有效的括号 题目: 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 示例 4: 输入:s = “([)]” 输出:false 示例 5: 输入:s = “{[]}原创 2022-04-21 09:04:52 · 830 阅读 · 0 评论 -
力扣:225. 用队列实现栈
题目链接:225. 用队列实现栈 题目: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。 注意: 你只能使用队列的基本操作 —— 也就是 push to back、pee原创 2022-04-25 22:14:21 · 1119 阅读 · 0 评论 -
力扣:232. 用栈实现队列
题目链接:232. 用栈实现队列 题目: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) //将元素 x 推到队列的末尾 int pop() //从队列的开头移除并返回元素 int peek() //返回队列开头的元素 boolean empty() //如果队列为空,返回 true ;否则,返回 false . 说明: 你只能使用标准的栈操作 —— 也就是只有 push to原创 2022-04-24 14:56:10 · 268 阅读 · 0 评论