File tree 1 file changed +11
-12
lines changed
1 file changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -8,33 +8,32 @@ using namespace std;
8
8
9
9
class MinStack {
10
10
public:
11
- vector<int > v;
12
- vector<int > min_value;
13
-
11
+ stack<int > s, s_min;
14
12
/* * initialize your data structure here. */
15
13
MinStack () {
16
14
17
15
}
18
16
19
17
void push (int x) {
20
- v.push_back (x);
21
- if (min_value.empty () || x < min_value.back ())
22
- min_value.push_back (x);
23
- else
24
- min_value.push_back (min_value.back ());
18
+ s.push (x);
19
+ if (s_min.empty () || s_min.top () >= x) {
20
+ s_min.push (x);
21
+ }
25
22
}
26
23
27
24
void pop () {
28
- min_value.pop_back ();
29
- v.pop_back ();
25
+ if (s.top () == s_min.top ()) {
26
+ s_min.pop ();
27
+ }
28
+ s.pop ();
30
29
}
31
30
32
31
int top () {
33
- return v. back ();
32
+ return s. top ();
34
33
}
35
34
36
35
int getMin () {
37
- return min_value. back ();
36
+ return s_min. top ();
38
37
}
39
38
};
40
39
You can’t perform that action at this time.
0 commit comments