Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7a2b5c7

Browse files
add solution in JS for 0155_min_stack.js
1 parent d97dbf5 commit 7a2b5c7

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

‎js_solutions/0155_min_stack.js‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/**
2+
* @description Initialize stack as an array
3+
*/
4+
const MinStack = function () {
5+
this.stack = [];
6+
};
7+
8+
/**
9+
* @description Pushes element to the top of the stack
10+
* @param {Number} value
11+
* @return {Void}
12+
*/
13+
MinStack.prototype.push = function (value) {
14+
const elem = { value, min: this.stack.length === 0 ? value : Math.min(value, this.getMin()) };
15+
this.stack.push(elem);
16+
};
17+
18+
/**
19+
* @description Returns element on the top of the stack and removes it
20+
* @return {Void}
21+
*/
22+
MinStack.prototype.pop = function () {
23+
const { value } = this.stack.pop();
24+
return value;
25+
};
26+
27+
/**
28+
* @description Returns element on the top of the stack
29+
* @return {Number}
30+
*/
31+
MinStack.prototype.top = function () {
32+
const { value } = this.stack[this.stack.length - 1];
33+
return value;
34+
};
35+
36+
/**
37+
* @description Returns the min element in the stack
38+
* @return {Number}
39+
*/
40+
MinStack.prototype.getMin = function () {
41+
const { min } = this.stack[this.stack.length - 1];
42+
return min;
43+
};

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /