您的位置:首页 > 健康 > 养生 > 国家知识产权局官网查询专利_文化广告公司简介模板_场景营销_免费b站推广网站2023

国家知识产权局官网查询专利_文化广告公司简介模板_场景营销_免费b站推广网站2023

2024/10/6 6:01:54 来源:https://blog.csdn.net/Locky136/article/details/142651762  浏览:    关键词:国家知识产权局官网查询专利_文化广告公司简介模板_场景营销_免费b站推广网站2023
国家知识产权局官网查询专利_文化广告公司简介模板_场景营销_免费b站推广网站2023

前言

每天和你一起刷 LeetCode 每日一题~

LeetCode 启动!

题目:座位预约管理系统

代码与解题思路

type SeatManager struct {sort.IntSlice // 默认最小堆
}// 非常常规的一道堆的题目,建一个最小堆
func Constructor(n int) SeatManager {m := SeatManager{make([]int, n)}for i := range m.IntSlice {m.IntSlice[i] = i+1 // 座位号从 1 开始}return m
}// 返回最小编号的座位(把堆顶出堆)
func (m *SeatManager) Reserve() int {return heap.Pop(m).(int)
}// 添加一个可预约座位,将 seatNumber 入堆
func (m *SeatManager) Unreserve(seatNumber int)  {heap.Push(m, seatNumber)
}func (m *SeatManager) Push(v any) { m.IntSlice = append(m.IntSlice, v.(int)) }
func (m *SeatManager) Pop() any { a := m.IntSlice; v := a[len(a)-1]; m.IntSlice = a[:len(a)-1]; return v }/*** Your SeatManager object will be instantiated and called as such:* obj := Constructor(n);* param_1 := obj.Reserve();* obj.Unreserve(seatNumber);*/

今天这道题可以说是非常常规了,只要是学过数据结构,学过堆/优先级队列(priority_queue)应该都能看出来,这里就不过多赘述了,注释也非常详细

但是,自从换上 Golang 后,每次写堆相关的题都是痛苦面具,因为 Golang 的堆非常麻烦,STL 比这玩意好用太多,但 . . . 来都来了,还是好好练习一下

今天这道题也算是可以当做 Golang 堆的一个简便实现的模版了

视频实况

【【LeetCode】每日一题 2024_9_30 座位预约管理系统(堆)】

每天进步一点点

可以和我刷一辈子的每日一题吗?
一题一题,积累起来就是一辈子。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com