mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Update 0739.每日温度.md
This commit is contained in:
@ -455,7 +455,27 @@ function dailyTemperatures(temperatures: number[]): number[] {
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Rust:
|
||||||
|
|
||||||
|
```rust
|
||||||
|
impl Solution {
|
||||||
|
/// 单调栈的本质是以空间换时间,记录之前已访问过的非递增子序列下标
|
||||||
|
pub fn daily_temperatures(temperatures: Vec<i32>) -> Vec<i32> {
|
||||||
|
let mut res = vec![0; temperatures.len()];
|
||||||
|
let mut stack = vec![];
|
||||||
|
for (idx, &value) in temperatures.iter().enumerate() {
|
||||||
|
while !stack.is_empty() && temperatures[*stack.last().unwrap()] < value {
|
||||||
|
// 弹出,并计算res中对应位置的值
|
||||||
|
let i = stack.pop().unwrap();
|
||||||
|
res[i] = (idx - i) as i32;
|
||||||
|
}
|
||||||
|
// 入栈
|
||||||
|
stack.push(idx)
|
||||||
|
}
|
||||||
|
res
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
Reference in New Issue
Block a user