代码随想录-栈与队列-c++总结

很大程度上是熟悉了一遍stack queue dequeue priority_queue的语法

贴一下总结不错的参考

https://zhuanlan.zhihu.com/p/352404451

优先队列

此外,push 和 emplace这两个操作,除了一个是产生副本移动,一个是直接构造添加外,还有一点需要注意

比如stack中是pair<int,int>类型,emplac(1,2)是正确的,push(1,2)不对,需要变成push(pair<int,int>(1,2))

算法层面 括号匹配问题,将右括号入栈,对于验证是否匹配更加方便

滑动窗口最大值,其实就是一个单调队列,不过他需要维持队列的长度不超过k,这就需要从数组下标去考虑当前的队列长度,所以向队列中添加的元素其实是下标,然后再通过下标访问数组值

求前k个高频元素,学习了一下优先队列的语法,并自己构造comparison,用仿函数比较方便bool operator()(){}

posted @ 2023-08-09 09:52  孙bob  阅读(8)  评论(0编辑  收藏  举报