代码随想录|Day13 239.滑动窗口最大值、347、前K个高频元素

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进行统计,然后对频率进行排序,这里可以使用一种容器适配器就是优先队列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值