mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
update (0739.每日温度.md): 增加未精简版本Go代码
This commit is contained in:
@ -277,8 +277,36 @@ func dailyTemperatures(t []int) []int {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
> 单调栈法
|
> 单调栈法(未精简版本)
|
||||||
|
|
||||||
|
```go
|
||||||
|
func dailyTemperatures(temperatures []int) []int {
|
||||||
|
res := make([]int, len(temperatures))
|
||||||
|
// 初始化栈顶元素为第一个下标索引0
|
||||||
|
stack := []int{0}
|
||||||
|
|
||||||
|
for i := 1; i < len(temperatures); i++ {
|
||||||
|
top := stack[len(stack)-1]
|
||||||
|
if temperatures[i] < temperatures[top] {
|
||||||
|
stack = append(stack, i)
|
||||||
|
} else if temperatures[i] == temperatures[top] {
|
||||||
|
stack = append(stack, i)
|
||||||
|
} else {
|
||||||
|
for len(stack) != 0 && temperatures[i] > temperatures[top] {
|
||||||
|
res[top] = i - top
|
||||||
|
stack = stack[:len(stack)-1]
|
||||||
|
if len(stack) != 0 {
|
||||||
|
top = stack[len(stack)-1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stack = append(stack, i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
> 单调栈法(精简版本)
|
||||||
```go
|
```go
|
||||||
// 单调递减栈
|
// 单调递减栈
|
||||||
func dailyTemperatures(num []int) []int {
|
func dailyTemperatures(num []int) []int {
|
||||||
|
Reference in New Issue
Block a user