如何修改网站后台地址,wordpress原图片删除,公司网站版面怎么设计,wordpress添加主题设置选项239. 滑动窗口最大值
题目链接#xff1a;239. 滑动窗口最大值
给你一个整数数组 nums#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。 文章讲解…239. 滑动窗口最大值
题目链接239. 滑动窗口最大值
给你一个整数数组 nums有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。
返回 滑动窗口中的最大值 。 文章讲解/视频讲解https://programmercarl.com/0239.%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E6%9C%80%E5%A4%A7%E5%80%BC.html 思路
设置一个大小为k的队列queue。
在滑动窗口处于初始位置时将初始的k个元素推入队列中 如果队列为空或者当前元素小于队列的队尾元素直接将nums[i]推入队列尾部 如果当前元素大于队列的队尾元素则循环判断只要队列的队尾元素小于当前元素就将当前队尾排出直到循环判断结束将nums[i]推入队列尾部。 此时队列的队首就是当前窗口的最大值。
滑动窗口开始移动时开始对整数数组nums的后续元素进行遍历 此时滑动窗口的范围为[i, i k - 1]如果nums[i - 1]等于队首元素则将队首排出说明此时队首已经不在滑动窗口中了 对于当前值nums[i]如果队列为空或nums[i]小于队列的队尾元素直接将nums[i]推入队列尾部如果此时队列大小大于k将队首排出 如果nums[i]大于队列的队尾元素则开始循环判断只要队列的队尾元素小于nums[i]就将当前队尾排出直到循环判断结束将nums[i]推入队列尾部。 同样的每次遍历当前队列的队首就是当前窗口的最大值。
上述方法在构建队列时可以保证队列中的元素是单调非增的因此队首就是当前窗口的最大值。同时因为需要对队列的队尾做排出操作用deque双向队列来作为队列的容器。 注如果用vector作为容器会超时。因为排出队首元素是o(n)复杂度的。
C实现
class Solution {
public:vectorint maxSlidingWindow(vectorint nums, int k) {vectorint results;dequeint dQ;for(int i 0;ik;i){if(dQ.empty() || nums[i] dQ.back()){dQ.push_back(nums[i]);}else{while(!dQ.empty() dQ.back() nums[i]) dQ.pop_back();dQ.push_back(nums[i]);}}results.push_back(dQ.front());for(int i k;inums.size();i){if(nums[i - k] dQ.front()) dQ.pop_front();if(dQ.empty() || nums[i] dQ.back()){dQ.push_back(nums[i]);if(dQ.size() k) dQ.pop_front();}else{while(!dQ.empty() dQ.back() nums[i]) dQ.pop_back();dQ.push_back(nums[i]);}results.push_back(dQ.front());}return results;}
};347.前 K 个高频元素
题目链接347.前 K 个高频元素
给你一个整数数组 nums 和一个整数 k 请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 文章讲解/视频讲解https://programmercarl.com/0347.%E5%89%8DK%E4%B8%AA%E9%AB%98%E9%A2%91%E5%85%83%E7%B4%A0.html 思路
用小顶堆来实现。 定义一种node结构属性分别为值和频率。 首先遍历数组统计每个元素的出现频率将代表每个元素的node存入数组frequents。 定义一个存储node类型的小顶堆堆的判断标准是node之间的频率频率越低越靠前。 遍历数组frequents将元素不断地push进这个小顶堆中如果小顶堆的大小大于k则将小顶堆的堆顶排出。
最终小顶堆中的所有元素构成了前K个高频元素。
C实现
struct node{int value;int frequence;
};class Solution {
public:vectorint topKFrequent(vectorint nums, int k) {auto cmp [](node a, node b){return a.frequence b.frequence;};priority_queuenode, vectornode, decltype(cmp) Q(cmp);vectornode frequents;unordered_mapint, int hashMap;for(int i 0;inums.size();i){hashMap[nums[i]] 1;}for(auto p : hashMap){frequents.push_back({p.first, p.second});}for(int i 0;ifrequents.size();i){Q.push(frequents[i]);if(Q.size() k) Q.pop();}vectorint results;while(!Q.empty()){results.push_back(Q.top().value);Q.pop();}return results;}
};
文章转载自: http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn http://www.morning.rnngz.cn.gov.cn.rnngz.cn http://www.morning.nynlf.cn.gov.cn.nynlf.cn http://www.morning.rbknf.cn.gov.cn.rbknf.cn http://www.morning.nytgk.cn.gov.cn.nytgk.cn http://www.morning.zkdmk.cn.gov.cn.zkdmk.cn http://www.morning.bryyb.cn.gov.cn.bryyb.cn http://www.morning.tbwsl.cn.gov.cn.tbwsl.cn http://www.morning.rghkg.cn.gov.cn.rghkg.cn http://www.morning.easiuse.com.gov.cn.easiuse.com http://www.morning.snyqb.cn.gov.cn.snyqb.cn http://www.morning.ylkkh.cn.gov.cn.ylkkh.cn http://www.morning.pffx.cn.gov.cn.pffx.cn http://www.morning.bztzm.cn.gov.cn.bztzm.cn http://www.morning.nkkpp.cn.gov.cn.nkkpp.cn http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn http://www.morning.wqngt.cn.gov.cn.wqngt.cn http://www.morning.hgkbj.cn.gov.cn.hgkbj.cn http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn http://www.morning.yqfdl.cn.gov.cn.yqfdl.cn http://www.morning.kphyl.cn.gov.cn.kphyl.cn http://www.morning.3jiax.cn.gov.cn.3jiax.cn http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn http://www.morning.lkbyj.cn.gov.cn.lkbyj.cn http://www.morning.qggxt.cn.gov.cn.qggxt.cn http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn http://www.morning.lngyd.cn.gov.cn.lngyd.cn http://www.morning.jcfqg.cn.gov.cn.jcfqg.cn http://www.morning.tclqf.cn.gov.cn.tclqf.cn http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.tsrg.cn.gov.cn.tsrg.cn http://www.morning.xesrd.com.gov.cn.xesrd.com http://www.morning.sdktr.com.gov.cn.sdktr.com http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn http://www.morning.gqfbl.cn.gov.cn.gqfbl.cn http://www.morning.npmx.cn.gov.cn.npmx.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.nkjxn.cn.gov.cn.nkjxn.cn http://www.morning.lgxzj.cn.gov.cn.lgxzj.cn http://www.morning.zfxrx.cn.gov.cn.zfxrx.cn http://www.morning.ndxss.cn.gov.cn.ndxss.cn http://www.morning.trqsm.cn.gov.cn.trqsm.cn http://www.morning.gcqs.cn.gov.cn.gcqs.cn http://www.morning.zpfr.cn.gov.cn.zpfr.cn http://www.morning.rkqkb.cn.gov.cn.rkqkb.cn http://www.morning.xkpjl.cn.gov.cn.xkpjl.cn http://www.morning.qxnns.cn.gov.cn.qxnns.cn http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.mrlls.cn.gov.cn.mrlls.cn http://www.morning.rwls.cn.gov.cn.rwls.cn http://www.morning.jhzct.cn.gov.cn.jhzct.cn http://www.morning.zkgpg.cn.gov.cn.zkgpg.cn http://www.morning.kxbry.cn.gov.cn.kxbry.cn http://www.morning.kwksj.cn.gov.cn.kwksj.cn http://www.morning.qyjqj.cn.gov.cn.qyjqj.cn http://www.morning.lwhsp.cn.gov.cn.lwhsp.cn http://www.morning.mdtfh.cn.gov.cn.mdtfh.cn http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com http://www.morning.lswgs.cn.gov.cn.lswgs.cn http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn http://www.morning.htjwz.cn.gov.cn.htjwz.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.trwkz.cn.gov.cn.trwkz.cn http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn http://www.morning.pjxlg.cn.gov.cn.pjxlg.cn http://www.morning.fksrg.cn.gov.cn.fksrg.cn http://www.morning.bhjyh.cn.gov.cn.bhjyh.cn http://www.morning.crqbt.cn.gov.cn.crqbt.cn http://www.morning.mngyb.cn.gov.cn.mngyb.cn http://www.morning.tqbqb.cn.gov.cn.tqbqb.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn