239.滑动窗口最大值
解题思路:遍历滑动窗口返回窗口里面的最大值。暴力破解的复杂度O(N*K)。
思考如何提升复杂度?即采取一个队列,使它在队顶pop(),在队尾push(),然后返回最大值getmax()。
如何维护getmax()这个队列成为解题的关键,{1,3,-1,-3,5}队列中K=3,首先输入K个元素{1,3}这是3比之前的元素大所以将3之前的元素都pop出去。因为在移动的时候后面的元素本身也是要被弹出的。只比较后面几个元素就行。
347.前K个高频元素
求前K个优先级队列主要涉及一下三块内容:
1、要统计元素出现的频率
2、对频率进行排序
3、找出前K个高频元素
首先统计元素出现的频率可以采用map进行统计,然后对频率进行排序,这里可以使用一种容器适配器就是优先队列。