更新 单调栈系列题目 排版格式修复

This commit is contained in:
jinbudaily
2023-07-27 14:18:47 +08:00
parent 7c9fcfe09d
commit e0c5da76e6
5 changed files with 53 additions and 43 deletions

View File

@@ -20,7 +20,7 @@
* 1 <= heights.length <=10^5
* 0 <= heights[i] <= 10^4
# 思路
## 思路
本题和[42. 接雨水](https://programmercarl.com/0042.接雨水.html),是遥相呼应的两道题目,建议都要仔细做一做,原理上有很多相同的地方,但细节上又有差异,更可以加深对单调栈的理解!
@@ -28,7 +28,7 @@
我们先来看一下暴力解法的解法:
## 暴力解法
### 暴力解法
```CPP
class Solution {
@@ -55,7 +55,7 @@ public:
如上代码并不能通过leetcode超时了因为时间复杂度是$O(n^2)$。
## 双指针解法
### 双指针解法
本题双指针的写法整体思路和[42. 接雨水](https://programmercarl.com/0042.接雨水.html)是一致的,但要比[42. 接雨水](https://programmercarl.com/0042.接雨水.html)难一些。
@@ -98,7 +98,7 @@ public:
};
```
## 单调栈
### 单调栈
本地单调栈的解法和接雨水的题目是遥相呼应的。
@@ -169,7 +169,7 @@ public:
}
};
```
```
细心的录友会发现,我在 height数组上后都加了一个元素0 为什么这么做呢?
@@ -229,7 +229,7 @@ public:
## 其他语言版本
Java:
### Java:
暴力解法:
```java
@@ -335,7 +335,7 @@ class Solution {
}
```
Python3:
### Python3:
```python
@@ -468,7 +468,7 @@ class Solution:
```
Go:
### Go:
> 单调栈
@@ -506,7 +506,8 @@ func largestRectangleArea(heights []int) int {
```
JavaScript:
### JavaScript:
```javascript
//双指针 js中运行速度最快
var largestRectangleArea = function(heights) {
@@ -581,7 +582,7 @@ var largestRectangleArea = function(heights) {
return maxArea;
};
```
TypeScript
### TypeScript
> 暴力法(会超时):
@@ -669,8 +670,7 @@ function largestRectangleArea(heights: number[]): number {
};
```
Rust
### Rust:
双指针预处理
```rust
@@ -730,3 +730,4 @@ impl Solution {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>