当前位置: 首页 > news >正文

网站设计分类网站设计弹窗

网站设计分类,网站设计弹窗,做网站还赚钱么,三合一网站选什么系统题目 239. 滑动窗口最大值 困难 提示 队列 数组 滑动窗口 单调队列 堆(优先队列) 给你一个整数数组 nums#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的…题目 239. 滑动窗口最大值 困难 提示 队列 数组 滑动窗口 单调队列 堆(优先队列) 给你一个整数数组 nums有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1 输入nums [1,3,-1,-3,5,3,6,7], k 3 输出[3,3,5,5,6,7] 解释 滑动窗口的位置 最大值 --------------- ----- [1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 51 3 -1 [-3 5 3] 6 7 51 3 -1 -3 [5 3 6] 7 61 3 -1 -3 5 [3 6 7] 7示例 2 输入nums [1], k 1 输出[1]提示 1 nums.length 105-104  nums[i] 1041 k nums.length 思路和解题方法 定义了一个名为Solution的类其中包含了一个嵌套类myqueue。myqueue类使用deque来实现一个单调队列具有三个方法pop、push和front。maxSlidingWindow方法接收一个整数数组nums和窗口大小k作为参数用于求解滑动窗口的最大值。在方法中首先创建一个myqueue对象que并将前k个元素依次插入队列中通过调用myqueue类的push方法。然后将队列的首元素即最大值加入到结果向量ans中。接下来从第k个元素开始遍历数组nums每次循环 先将窗口外的元素从队列中移出通过调用myqueue类的pop方法。然后将当前元素插入到队列中通过调用myqueue类的push方法。再将队列的首元素加入到结果向量ans中。最后返回结果向量ans作为最终的结果。 复杂度 时间复杂度: O(n) 时间复杂度为O(n)其中n表示数组nums的大小。因为每个元素最多进出队列一次所以总共有2n次操作因此时间复杂度为O(n)。 空间复杂度 O(k) 空间复杂度是O(k)其中k为窗口大小。因为单调队列中最多存储k个元素所以空间复杂度为O(k)。值得注意的是如果窗口大小为1即每个元素都被作为一个窗口进行处理那么空间复杂度将是O(n)。 c 代码 ​class Solution { public:class myqueue{public:dequeintque; // 使用deque作为存储队列元素的容器void pop(int value) // 弹出value如果当前队列的首元素等于value{if(!que.empty() value que.front()) // 如果队列不为空且队列首元素等于valueque.pop_front(); // 弹出队列首元素}void push(int value) // 将value插入队列中{while(!que.empty() value que.back()) // 如果队列不为空且value大于队列末尾元素que.pop_back(); // 弹出队列末尾元素以保持队列单调递减que.push_back(value); // 插入value到队列末尾}int front(){ // 返回队列的首元素return que.front();}}; public:vectorint maxSlidingWindow(vectorint nums, int k) {myqueue que; // 创建一个myqueue对象vectorint ans; // 存储结果的向量for(int i 0; i k; i) // 初始化窗口的大小将前k个元素插入队列中{que.push(nums[i]);}ans.push_back(que.front()); // 将队列的首元素当前窗口的最大值加入结果向量中for(int i k; i nums.size(); i) // 从第k个元素开始遍历数组{que.pop(nums[i - k]); // 弹出窗口外的元素que.push(nums[i]); // 将当前元素插入队列中ans.push_back(que.front()); // 将队列的首元素加入结果向量中}return ans; // 返回结果向量} };觉得有用的话可以点点赞支持一下。 如果愿意的话关注一下。会对你有更多的帮助。 每天都会不定时更新哦  人  。
http://www.pierceye.com/news/726285/

相关文章:

  • 服务器添加网站300500启迪设计
  • 上海市建设安全协会网站移动端页面
  • 手机做网站公司成都住房和城乡建设厅官网
  • 锋创科技园网站建设网站开发ide php
  • 山东做网站的公司有哪些电脑怎么制作视频短片
  • 书画网站 建站维护网站成本
  • 什么事网站开发网站服务器租用报价
  • 做黏土的网站青岛网站建设微动力
  • 建网站权威公司广告发布平台
  • 自助游网站开发分析报告总结怎么注册公司微信公众号
  • 网站开发公司业务员培训黄聪wordpress
  • 网站规划与建设ppt模板下载响应式网站模板费用
  • 江苏商城网站建设服务网站建设优化石家庄
  • 高师院校语言类课程体系改革与建设 教学成果奖申报网站wordpress 4.8.2 漏洞
  • 以小说名字做网站的小说网wordpress的数据库主机
  • 永嘉高端网站建设价格h5页面制作多少钱
  • 北京网站建设课程培训WordPress分类id在哪
  • 宁夏网站备案青岛专业网站建设公司
  • 廊坊营销网站团队佛山市创意动力信息科技有限公司
  • 怎么学习做网站网络公司 网站建设
  • 网站权重怎么提升网站开发多线程开发
  • wordpress下拉列表沈阳网站排名优化
  • 非自己的网站如何做二次跳转免费建英文网站
  • 广州建筑集团网站企业大型网站开发网站模板设计
  • 漯河网站推广多少钱做调查网站的问卷哪个给的钱高
  • 局域网下怎么访问自己做的网站做网站时如何将前端连接到后台
  • 网页设计与网站建设考试名词解释长治县网站建设
  • 商务网站建设实训报告总结南京太阳宫网站建设
  • 网站建设合同缴纳印花税吗建设企业网站官网登录
  • 石家庄网站开发多少钱做网站和做程序一样吗