Merge pull request #2172 from Ainevsia/master

Update 0739.每日温度.md
This commit is contained in:
程序员Carl
2023-07-25 10:07:01 +08:00
committed by GitHub

View File

@ -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">