150 逆波兰表达式求值
逆波兰表达式:后缀表达式 用二叉树写出算式 再从下到上遍历
用栈解决:遇到数字,放进栈里,遇到运算符号,取出数字,进行运算
239 滑动窗口最大值
单调队列
只维护窗口里最大的值,当前面的值比最大值大时,直接弹走,保证队列口是最大值
需要设计三个函数 pop,push, 获取最大值
pop:移除的元素(窗口移除的元素)等于出口元素,弹出元素
push:push的元素大于入口元素,把入口元素弹出,直到push元素小于等于入口元素
347 前K个高频元素
返回出现频率前k高
元素出现的频率可以由map实现,使用优先级队列
堆:大顶堆(从大到小排)小顶堆(从小到大排)