mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +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">
|
||||
|
Reference in New Issue
Block a user