Skip to content

Commit d337b0c

Browse files
Merge pull request youngyangyang04#2172 from Ainevsia/master
Update 0739.每日温度.md
2 parents 3a99bee + dba8820 commit d337b0c

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

problems/0739.每日温度.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,27 @@ function dailyTemperatures(temperatures: number[]): number[] {
455455
};
456456
```
457457

458-
458+
Rust:
459+
460+
```rust
461+
impl Solution {
462+
/// 单调栈的本质是以空间换时间,记录之前已访问过的非递增子序列下标
463+
pub fn daily_temperatures(temperatures: Vec<i32>) -> Vec<i32> {
464+
let mut res = vec![0; temperatures.len()];
465+
let mut stack = vec![];
466+
for (idx, &value) in temperatures.iter().enumerate() {
467+
while !stack.is_empty() && temperatures[*stack.last().unwrap()] < value {
468+
// 弹出,并计算res中对应位置的值
469+
let i = stack.pop().unwrap();
470+
res[i] = (idx - i) as i32;
471+
}
472+
// 入栈
473+
stack.push(idx)
474+
}
475+
res
476+
}
477+
}
478+
```
459479

460480

461481
<p align="center">

0 commit comments

Comments
 (0)