Skip to content

Commit 2f3d493

Browse files
committedJan 20, 2020
feat: add question 84
1 parent caaef5d commit 2f3d493

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
 

‎84.柱状图中最大的矩形.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* @lc app=leetcode.cn id=84 lang=javascript
3+
*
4+
* [84] 柱状图中最大的矩形
5+
*/
6+
7+
// @lc code=start
8+
/**
9+
* @param {number[]} heights
10+
* @return {number}
11+
*/
12+
var largestRectangleArea = function(heights) {
13+
let result = 0;
14+
const stack = [-1];
15+
for (let i = 0; i < heights.length; i++) {
16+
while (stack[stack.length - 1] !== -1 && heights[stack[stack.length - 1]] >= heights[i]) {
17+
const j = stack.pop();
18+
result = Math.max(result, heights[j] * (i - stack[stack.length - 1] - 1));
19+
}
20+
stack.push(i);
21+
}
22+
23+
while (stack[stack.length - 1] !== -1) {
24+
const j = stack.pop();
25+
result = Math.max(result, heights[j] * (heights.length - stack[stack.length - 1] - 1));
26+
}
27+
28+
return result;
29+
};
30+
// @lc code=end

0 commit comments

Comments
 (0)
Please sign in to comment.