File tree 3 files changed +117
-0
lines changed
3 files changed +117
-0
lines changed Original file line number Diff line number Diff line change @@ -298,6 +298,46 @@ public class MinStack {
298
298
*/
299
299
```
300
300
301
+ ``` swift
302
+ class MinStack {
303
+ private var stk1: [Int ]
304
+ private var stk2: [Int ]
305
+
306
+ init () {
307
+ stk1 = []
308
+ stk2 = [Int .max ]
309
+ }
310
+
311
+ func push (_ x : Int ) {
312
+ stk1.append (x)
313
+
314
+ stk2.append (min (x, stk2.last ! ))
315
+ }
316
+
317
+ func pop () {
318
+ stk1.removeLast ()
319
+ stk2.removeLast ()
320
+ }
321
+
322
+ func top () -> Int {
323
+ return stk1.last !
324
+ }
325
+
326
+ func getMin () -> Int {
327
+ return stk2.last !
328
+ }
329
+ }
330
+
331
+ /**
332
+ * Your MinStack object will be instantiated and called as such:
333
+ * let obj = MinStack();
334
+ * obj.push(x);
335
+ * obj.pop();
336
+ * let param_3 = obj.top();
337
+ * let param_4 = obj.getMin();
338
+ */
339
+ ```
340
+
301
341
<!-- tabs:end -->
302
342
303
343
<!-- end -->
Original file line number Diff line number Diff line change @@ -317,6 +317,46 @@ public class MinStack {
317
317
*/
318
318
```
319
319
320
+ ``` swift
321
+ class MinStack {
322
+ private var stk1: [Int ]
323
+ private var stk2: [Int ]
324
+
325
+ init () {
326
+ stk1 = []
327
+ stk2 = [Int .max ]
328
+ }
329
+
330
+ func push (_ x : Int ) {
331
+ stk1.append (x)
332
+
333
+ stk2.append (min (x, stk2.last ! ))
334
+ }
335
+
336
+ func pop () {
337
+ stk1.removeLast ()
338
+ stk2.removeLast ()
339
+ }
340
+
341
+ func top () -> Int {
342
+ return stk1.last !
343
+ }
344
+
345
+ func getMin () -> Int {
346
+ return stk2.last !
347
+ }
348
+ }
349
+
350
+ /**
351
+ * Your MinStack object will be instantiated and called as such:
352
+ * let obj = MinStack();
353
+ * obj.push(x);
354
+ * obj.pop();
355
+ * let param_3 = obj.top();
356
+ * let param_4 = obj.getMin();
357
+ */
358
+ ```
359
+
320
360
<!-- tabs:end -->
321
361
322
362
<!-- end -->
Original file line number Diff line number Diff line change
1
+ class MinStack {
2
+ private var stk1 : [ Int ]
3
+ private var stk2 : [ Int ]
4
+
5
+ init ( ) {
6
+ stk1 = [ ]
7
+ stk2 = [ Int . max]
8
+ }
9
+
10
+ func push( _ x: Int ) {
11
+ stk1. append ( x)
12
+
13
+ stk2. append ( min ( x, stk2. last!) )
14
+ }
15
+
16
+ func pop( ) {
17
+ stk1. removeLast ( )
18
+ stk2. removeLast ( )
19
+ }
20
+
21
+ func top( ) -> Int {
22
+ return stk1. last!
23
+ }
24
+
25
+ func getMin( ) -> Int {
26
+ return stk2. last!
27
+ }
28
+ }
29
+
30
+ /**
31
+ * Your MinStack object will be instantiated and called as such:
32
+ * let obj = MinStack();
33
+ * obj.push(x);
34
+ * obj.pop();
35
+ * let param_3 = obj.top();
36
+ * let param_4 = obj.getMin();
37
+ */
You can’t perform that action at this time.
0 commit comments