栈
丁大勤
这个作者很懒,什么都没留下…
展开
-
【C++】503.下一个更大元素Ⅱ【leetcode】——单调栈
题目描述:思路一:参照下一个更大元素Ⅰ,一次遍历之后再比较查看栈内剩余数字PS:代码写的实在是丑陋,后面再美化一下代码:class Solution {private: vector<int> res; stack<int> temp; stack<int> tip;public: vector...原创 2020-02-09 15:03:35 · 190 阅读 · 0 评论 -
【C++】496.下一个更大元素Ⅰ【leetcode】——单调栈解决下一个更大元素问题
题目描述:思路一:暴力求解代码:class Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { vector<int> res; for(in...原创 2020-02-07 16:06:37 · 177 阅读 · 0 评论 -
【C++】225.用队列实现栈【leetcode】——三种方法
题目描述:思路一:使用两个队列,压入 -O(1), 弹出 -O(n)每次压栈时直接push();出栈时弹出队列尾部代码实现:class MyStack {private: queue<int> q1; queue<int> q2; int to;public: /** Initialize your data...原创 2020-02-06 15:01:20 · 225 阅读 · 0 评论 -
【C++】155.最小栈【leetcode】——栈
题目描述:思路:1. 使用一个stack(arr)和一个整数(min)来记录到当前为止的栈最小值。这样不能实现pop()之后的getMin(),即动态多次getMin()不能在常数时间内完成。2. 使用两个stack(arr和min),栈min和栈arr是大小一致且同步的,每次栈min的栈顶元素即为当前栈arr的栈内最小元素。C++代码实现:class MinStack ...原创 2020-02-03 22:46:55 · 202 阅读 · 0 评论 -
【C++】20.有效的括号【leetcode】——栈数据结构
题目描述:思路:1.单括号():设置变量left,记录当前还未配对的前括号(;每遇到(,left++;每遇到),left--2.但是当出现多种括号时,方法一不适用,为了应对 { [ ( ) ] }和 [ ( ] ) 这种情况,引入栈数据结构。C++代码实现:class Solution {public: bool isValid(string s) {...原创 2020-01-30 22:45:43 · 166 阅读 · 0 评论