golang 496下一个更大元素我
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 496下一个更大元素我相关的知识,希望对你有一定的参考价值。
func nextGreaterElement(findNums []int, nums []int) []int {
if len(nums) == 0 {
return []int{}
}
result := make([]int, 0)
m := make(map[int]int)
st := &Stack{}
st.Push(nums[0])
for _, n := range nums[1:] {
for st.Len() > 0 && n > st.Peek().(int) {
pop, _ := st.Pop()
m[pop.(int)] = n
}
st.Push(n)
}
for _, n := range findNums {
if v, ok := m[n]; ok {
result = append(result, v)
} else {
result = append(result, -1)
}
}
return result
}
type Stack struct {
data []interface{}
}
func (this *Stack) Len()int {
return len(this.data)
}
func (this *Stack) Push(i interface{}) {
this.data = append([]interface{}{i}, this.data...)
}
func (this *Stack) Peek() interface{} {
return this.data[0]
}
func (this *Stack) Pop() (interface{}, bool) {
if len(this.data) == 0 {
return nil, false
}
i := this.Peek()
this.data = this.data[1:]
return i, true
}
golang自带hex包的使用说明
参考技术A
hex包主要是将字节流转换成16进制的操作.
主要操作函数
以上是关于golang 496下一个更大元素我的主要内容,如果未能解决你的问题,请参考以下文章
496. 下一个更大元素 I 的 单调栈解法
496. 下一个更大元素 I
[JavaScript 刷题] 栈 - 下一个更大元素 I, leetcode 496
[JavaScript 刷题] 栈 - 下一个更大元素 I, leetcode 496
[JavaScript 刷题] 栈 - 下一个更大元素 I, leetcode 496
496. 下一个更大元素 I『简单』