Repository navigation
Expand file tree
/
Copy pathleetcode-implement-stack-using-queues.html
More file actions
213 lines (198 loc) · 33 KB
/
Copy pathleetcode-implement-stack-using-queues.html
File metadata and controls
213 lines (198 loc) · 33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>LeetCode第225题Implement Stack using Queues | WenQian Dong's Web</title><meta name="author" content="WenQian Dong"><meta name="copyright" content="WenQian Dong"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="Implement Stack using QueensImplement Stack using Queens用队列实现栈。 Example MyStack stack = new MyStack();stack.push(1);stack.push(2);stack.top(); // returns 2stack.pop(); /&#x2F">
<meta property="og:type" content="article">
<meta property="og:title" content="LeetCode第225题Implement Stack using Queues">
<meta property="og:url" content="https://wqdchn.github.io/leetcode-implement-stack-using-queues.html">
<meta property="og:site_name" content="WenQian Dong's Web">
<meta property="og:description" content="Implement Stack using QueensImplement Stack using Queens用队列实现栈。 Example MyStack stack = new MyStack();stack.push(1);stack.push(2);stack.top(); // returns 2stack.pop(); /&#x2F">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg">
<meta property="article:published_time" content="2019-09-26T01:44:11.000Z">
<meta property="article:modified_time" content="2024-02-17T01:39:55.106Z">
<meta property="article:author" content="WenQian Dong">
<meta property="article:tag" content="LeetCode">
<meta property="article:tag" content="栈">
<meta property="article:tag" content="队列">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://wqdchn.github.io/leetcode-implement-stack-using-queues.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css?v=4.12.0"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.32/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '天',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid@4.11.0/dist/infinitegrid.min.js',
buttonText: '加载更多'
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'LeetCode第225题Implement Stack using Queues',
isPost: true,
isHome: false,
isHighlightShrink: false,
isToc: true,
postUpdate: '2024-02-17 09:39:55'
}</script><script>(win=>{
win.saveToLocal = {
set: (key, value, ttl) => {
if (ttl === 0) return
const now = Date.now()
const expiry = now + ttl * 86400000
const item = {
value,
expiry
}
localStorage.setItem(key, JSON.stringify(item))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = Date.now()
if (now > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
Object.keys(attr).forEach(key => {
script.setAttribute(key, attr[key])
})
document.head.appendChild(script)
})
win.getCSS = (url, id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 7.1.1"><link rel="alternate" href="/atom.xml" title="WenQian Dong's Web" type="application/atom+xml">
</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">45</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">44</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><hr class="custom-hr"/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/links/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div></div></div><div class="post" id="body-wrap"><header class="post-bg" id="page-header" style="background-image: url('https://raw.githubusercontent.com/wqdchn/blog-image/master/daily_pic2.jpg')"><nav id="nav"><span id="blog-info"><a href="/" title="WenQian Dong's Web"><img class="site-icon" src="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg"/><span class="site-name">WenQian Dong's Web</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/links/"><i class="fa-fw fas fa-link"></i><span> 友链</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="post-info"><h1 class="post-title">LeetCode第225题Implement Stack using Queues</h1><div id="post-meta"><div class="meta-firstline"><span class="post-meta-date"><i class="far fa-calendar-alt fa-fw post-meta-icon"></i><span class="post-meta-label">发表于</span><time class="post-meta-date-created" datetime="2019-09-26T01:44:11.000Z" title="发表于 2019-09-26 09:44:11">2019-09-26</time><span class="post-meta-separator">|</span><i class="fas fa-history fa-fw post-meta-icon"></i><span class="post-meta-label">更新于</span><time class="post-meta-date-updated" datetime="2024-02-17T01:39:55.106Z" title="更新于 2024-02-17 09:39:55">2024-02-17</time></span><span class="post-meta-categories"><span class="post-meta-separator">|</span><i class="fas fa-inbox fa-fw post-meta-icon"></i><a class="post-meta-categories" href="/categories/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/">数据结构与算法</a></span></div><div class="meta-secondline"><span class="post-meta-separator">|</span><span class="post-meta-pv-cv" id="" data-flag-title="LeetCode第225题Implement Stack using Queues"><i class="far fa-eye fa-fw post-meta-icon"></i><span class="post-meta-label">阅读量:</span><span id="busuanzi_value_page_pv"><i class="fa-solid fa-spinner fa-spin"></i></span></span></div></div></div></header><main class="layout" id="content-inner"><div id="post"><article class="post-content" id="article-container"><span id="more"></span>
<h4 id="Implement-Stack-using-Queens"><a href="#Implement-Stack-using-Queens" class="headerlink" title="Implement Stack using Queens"></a>Implement Stack using Queens</h4><p><a href="https://leetcode.com/problems/implement-stack-using-queues/">Implement Stack using Queens</a>用队列实现栈。</p>
<h5 id="Example"><a href="#Example" class="headerlink" title="Example"></a>Example</h5><blockquote>
<p>MyStack stack = new MyStack();<br>stack.push(1);<br>stack.push(2);<br>stack.top(); // returns 2<br>stack.pop(); // returns 2<br>stack.empty(); // returns false</p>
</blockquote>
<p>栈的特性是先进后出,队列的特性是先进先出,我们要实现栈的三个操作,分别是<code>push</code>、<code>pop</code>、<code>top</code>,还有一个栈状态检查<code>empty</code>。类似用栈实现队列时,使用两个栈互相倒腾,这里用队列实现栈也可以使用两个队列来实现栈,燃鹅本文选择使用一个队列来实现栈,非炫技也,实有趣耳。</p>
<p>使用一个队列时,<code>push</code>操作很平常,就把元素压入队列中即可,即压入栈中。</p>
<table>
<thead>
<tr>
<th align="center"></th>
<th align="center"></th>
<th align="center"></th>
<th align="center"></th>
</tr>
</thead>
<tbody><tr>
<td align="center">1</td>
<td align="center">2</td>
<td align="center">3</td>
<td align="center">4</td>
</tr>
</tbody></table>
<p>执行<code>pop</code>操作时,由于栈是先进后出的,先前<code>push</code>入队的队列头部元素应该在栈底,而队列尾部元素是栈顶。也就是说,我们要<code>pop</code>的是队列尾部元素,那么怎么将尾部元素<code>pop</code>出去呢?</p>
<p>很简单,我们让除了队列末尾元素之外的其他队列元素出队,那原来的队尾元素不就变成新的队首元素了吗,让这个新的队首元素出队就是栈的<code>pop</code>操作,而出队的其他元素则再依次入队,保证栈<code>pop</code>之后其他元素没有丢失。</p>
<table>
<thead>
<tr>
<th align="center"></th>
<th align="center"></th>
<th align="center"></th>
<th align="center"></th>
</tr>
</thead>
<tbody><tr>
<td align="center">4</td>
<td align="center">1</td>
<td align="center">2</td>
<td align="center">3</td>
</tr>
</tbody></table>
<p>执行<code>top</code>操作时和<code>pop</code>类似,只不过我们返回队首元素即可,注意,由于这个队首元素是原来的队尾元素,所以我们在使用过它之后,要让它出队再入队,保证它依然处于队尾,也就是栈顶。</p>
<p>状态检查只需查看队列是否为空即可。</p>
<h4 id="Solution"><a href="#Solution" class="headerlink" title="Solution"></a>Solution</h4><p>下面是<code>Java</code>的代码:</p>
<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">class</span> <span class="title class_">MyStack</span> {</span><br><span class="line"> Queue<Integer> q;</span><br><span class="line"> </span><br><span class="line"> <span class="comment">/** Initialize your data structure here. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="title function_">MyStack</span><span class="params">()</span> {</span><br><span class="line"> q = <span class="keyword">new</span> <span class="title class_">LinkedList</span><>();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Push element x onto stack. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">push</span><span class="params">(<span class="type">int</span> x)</span> {</span><br><span class="line"> q.offer(x);</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Removes the element on top of the stack and returns that element. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="type">int</span> <span class="title function_">pop</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> <span class="variable">i</span> <span class="operator">=</span> <span class="number">1</span>; i < q.size(); i++){</span><br><span class="line"> q.offer(q.poll());</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> q.poll();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Get the top element. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="type">int</span> <span class="title function_">top</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> <span class="variable">i</span> <span class="operator">=</span> <span class="number">1</span>; i < q.size(); i++){</span><br><span class="line"> q.offer(q.poll());</span><br><span class="line"> }</span><br><span class="line"> <span class="type">int</span> <span class="variable">top</span> <span class="operator">=</span> q.peek();</span><br><span class="line"> q.offer(q.poll());</span><br><span class="line"> <span class="keyword">return</span> top;</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Returns whether the stack is empty. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="type">boolean</span> <span class="title function_">empty</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">return</span> q.isEmpty();</span><br><span class="line"> }</span><br><span class="line">}</span><br></pre></td></tr></table></figure>
<p>下面是相似的<code>Java</code>代码,请关注两者的区别:</p>
<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">class</span> <span class="title class_">MyStack</span> {</span><br><span class="line"></span><br><span class="line"> Queue<Integer> q;</span><br><span class="line"> </span><br><span class="line"> <span class="comment">/** Initialize your data structure here. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="title function_">MyStack</span><span class="params">()</span> {</span><br><span class="line"> q = <span class="keyword">new</span> <span class="title class_">LinkedList</span><>();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Push element x onto stack. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">push</span><span class="params">(<span class="type">int</span> x)</span> {</span><br><span class="line"> queue.add(x);</span><br><span class="line"> <span class="keyword">for</span> (<span class="type">int</span> i=<span class="number">1</span>; i<queue.size(); i++)</span><br><span class="line"> queue.add(queue.remove());</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Removes the element on top of the stack and returns that element. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">pop</span><span class="params">()</span> {</span><br><span class="line"> queue.remove();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Get the top element. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="type">int</span> <span class="title function_">top</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">return</span> queue.peek();</span><br><span class="line"> }</span><br><span class="line"></span><br><span class="line"> <span class="comment">/** Returns whether the stack is empty. */</span></span><br><span class="line"> <span class="keyword">public</span> <span class="type">boolean</span> <span class="title function_">empty</span><span class="params">()</span> {</span><br><span class="line"> <span class="keyword">return</span> queue.isEmpty();</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p>下面是<code>Python</code>的代码:</p>
<figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">class</span> <span class="title class_">MyStack</span>:</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">__init__</span>(<span class="params">self</span>):</span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Initialize your data structure here.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> self.queue = []</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">push</span>(<span class="params">self, x: <span class="built_in">int</span></span>) -> <span class="literal">None</span>:</span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Push element x onto stack.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> self.queue.append(x)</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">pop</span>(<span class="params">self</span>) -> <span class="built_in">int</span>:</span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Removes the element on top of the stack and returns that element.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> <span class="keyword">return</span> self.queue.pop()</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">top</span>(<span class="params">self</span>) -> <span class="built_in">int</span>:</span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Get the top element.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> <span class="keyword">return</span> self.queue[-<span class="number">1</span>]</span><br><span class="line"></span><br><span class="line"> <span class="keyword">def</span> <span class="title function_">empty</span>(<span class="params">self</span>) -> <span class="built_in">bool</span>:</span><br><span class="line"> <span class="string">"""</span></span><br><span class="line"><span class="string"> Returns whether the stack is empty.</span></span><br><span class="line"><span class="string"> """</span></span><br><span class="line"> <span class="keyword">return</span> self.queue == []</span><br></pre></td></tr></table></figure>
<h4 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h4><p>第225题是简单题,用一个队列实现栈其实也不难,关键依然是理解先进先出和先进后出之间的关联。这里<code>Python</code>的逻辑和分析中有所区别,主要是<code>Python</code>的内置函数太强大了,完全不需要多余的操作。。。</p>
</article><div class="post-copyright"><div class="post-copyright__author"><span class="post-copyright-meta"><i class="fas fa-circle-user fa-fw"></i>文章作者: </span><span class="post-copyright-info"><a href="https://wqdchn.github.io">WenQian Dong</a></span></div><div class="post-copyright__type"><span class="post-copyright-meta"><i class="fas fa-square-arrow-up-right fa-fw"></i>文章链接: </span><span class="post-copyright-info"><a href="https://wqdchn.github.io/leetcode-implement-stack-using-queues.html">https://wqdchn.github.io/leetcode-implement-stack-using-queues.html</a></span></div><div class="post-copyright__notice"><span class="post-copyright-meta"><i class="fas fa-circle-exclamation fa-fw"></i>版权声明: </span><span class="post-copyright-info">本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明来自 <a href="https://wqdchn.github.io" target="_blank">WenQian Dong's Web</a>!</span></div></div><div class="tag_share"><div class="post-meta__tag-list"><a class="post-meta__tags" href="/tags/LeetCode/">LeetCode</a><a class="post-meta__tags" href="/tags/%E6%A0%88/">栈</a><a class="post-meta__tags" href="/tags/%E9%98%9F%E5%88%97/">队列</a></div><div class="post_share"><div class="social-share" data-image="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg" data-sites="facebook,twitter,wechat,weibo,qq"></div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1.1.3/sharejs/dist/css/share.min.css" media="print" onload="this.media='all'"><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1.1.3/sharejs/dist/js/social-share.min.js" defer></script></div></div><nav class="pagination-post" id="pagination"><div class="prev-post pull-left"><a href="/leetcode-kth-largest-element-in-a-stream.html" title="LeetCode第703题Kth Largest Element in a Stream"><div class="cover" style="background: var(--default-bg-color)"></div><div class="pagination-info"><div class="label">上一篇</div><div class="prev_info">LeetCode第703题Kth Largest Element in a Stream</div></div></a></div><div class="next-post pull-right"><a href="/leetcode-implement-queen-using-stacks.html" title="LeetCode第232题Implement Queen using Stacks"><div class="cover" style="background: var(--default-bg-color)"></div><div class="pagination-info"><div class="label">下一篇</div><div class="next_info">LeetCode第232题Implement Queen using Stacks</div></div></a></div></nav><div class="relatedPosts"><div class="headline"><i class="fas fa-thumbs-up fa-fw"></i><span>相关推荐</span></div><div class="relatedPosts-list"><div><a href="/leetcode-implement-queen-using-stacks.html" title="LeetCode第232题Implement Queen using Stacks"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2019-09-25</div><div class="title">LeetCode第232题Implement Queen using Stacks</div></div></a></div><div><a href="/leetcode-kth-largest-element-in-a-stream.html" title="LeetCode第703题Kth Largest Element in a Stream"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2019-09-27</div><div class="title">LeetCode第703题Kth Largest Element in a Stream</div></div></a></div><div><a href="/leetcode-sliding-window-maximum.html" title="LeetCode第239题Sliding Window Maximum"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2019-09-28</div><div class="title">LeetCode第239题Sliding Window Maximum</div></div></a></div><div><a href="/leetcode-valid-parentheses.html" title="LeetCode第20题Valid Parentheses"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2019-09-19</div><div class="title">LeetCode第20题Valid Parentheses</div></div></a></div><div><a href="/leetcode-best-time-to-by-and-sell-stock.html" title="LeetCode股票买卖系列"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2020-03-06</div><div class="title">LeetCode股票买卖系列</div></div></a></div><div><a href="/leetcode-coin-change.html" title="LeetCode第322题Coin Change"><div class="cover" style="background: var(--default-bg-color)"></div><div class="content is-center"><div class="date"><i class="far fa-calendar-alt fa-fw"></i> 2019-11-29</div><div class="title">LeetCode第322题Coin Change</div></div></a></div></div></div></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="https://raw.githubusercontent.com/wqdchn/blog-image/master/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">WenQian Dong</div><div class="author-info__description">技术,杂谈,三国厨,历史向,Google粉</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">45</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">44</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">4</div></a></div><a id="card-info-btn" href="https://github.com/wqdchn"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/wqdchn" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget" id="card-toc"><div class="item-headline"><i class="fas fa-stream"></i><span>目录</span><span class="toc-percentage"></span></div><div class="toc-content"><ol class="toc"><li class="toc-item toc-level-4"><a class="toc-link" href="#Implement-Stack-using-Queens"><span class="toc-number">1.</span> <span class="toc-text">Implement Stack using Queens</span></a><ol class="toc-child"><li class="toc-item toc-level-5"><a class="toc-link" href="#Example"><span class="toc-number">1.1.</span> <span class="toc-text">Example</span></a></li></ol></li><li class="toc-item toc-level-4"><a class="toc-link" href="#Solution"><span class="toc-number">2.</span> <span class="toc-text">Solution</span></a></li><li class="toc-item toc-level-4"><a class="toc-link" href="#%E6%80%BB%E7%BB%93"><span class="toc-number">3.</span> <span class="toc-text">总结</span></a></li></ol></div></div><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/reply-2021.html" title="请回答 2021">请回答 2021</a><time datetime="2022-01-03T04:46:59.000Z" title="发表于 2022-01-03 12:46:59">2022-01-03</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/aloha-heja-he.html" title="Aloha Heja He">Aloha Heja He</a><time datetime="2020-08-09T13:18:30.000Z" title="发表于 2020-08-09 21:18:30">2020-08-09</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/how-is-going-2020-08-01.html" title="庚子年·仲夏记事">庚子年·仲夏记事</a><time datetime="2020-08-01T15:01:57.000Z" title="发表于 2020-08-01 23:01:57">2020-08-01</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/how-is-going-2020-06-30.html" title="庚子年·夏至记事">庚子年·夏至记事</a><time datetime="2020-06-30T11:26:57.000Z" title="发表于 2020-06-30 19:26:57">2020-06-30</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/how-is-going-2020-05-31.html" title="庚子年·初夏记事">庚子年·初夏记事</a><time datetime="2020-05-31T01:45:44.000Z" title="发表于 2020-05-31 09:45:44">2020-05-31</time></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2017 - 2024 By WenQian Dong</div><div class="framework-info"><span>框架 </span><a href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="readmode" type="button" title="阅读模式"><i class="fas fa-book-open"></i></button><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button class="close" id="mobile-toc-button" type="button" title="目录"><i class="fas fa-list-ul"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js?v=4.12.0"></script><script src="/js/main.js?v=4.12.0"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.32/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>