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

哈尔滨做网站公司怎么选择丹徒网站建设

哈尔滨做网站公司,怎么选择丹徒网站建设,怎么做网站美工,网站 被降权题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。 示例 1: 输入:nums [1,3,-1,-3,5,3,6,7], k 3…

题目

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值 。

示例 1:
输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]

示例 2:
输入:nums = [1], k = 1
输出:[1]

答案

题目要求我们实现一个函数,该函数接受一个整数数组 nums 和一个整数 k,其中 k 是滑动窗口的大小。函数会返回一个数组,该数组包含滑动窗口在遍历 nums 数组过程中每个位置的最大值。

我们可以使用双端队列(deque)来解决这个问题。双端队列可以从两端添加和删除元素。我们可以维护一个双端队列,该队列中存储的是滑动窗口中的最小值。队列的头部元素始终是当前滑动窗口的最小值。当滑动窗口向右移动时,我们将新的元素添加到队列的尾部,并删除队列头部的元素(如果它不再在滑动窗口中)。这样,队列头部的元素始终是当前滑动窗口的最大值。

下面是一个实现这个算法的 Python 代码:

from collections import dequedef max_in_sliding_window(nums, k):# 初始化结果数组和双端队列res = []dq = deque()# 遍历整个数组for i in range(len(nums)):# 如果队列中的第一个元素不再在滑动窗口中,将其移出队列if i - k + 1 >= 0 and nums[i - k + 1] in dq:dq.remove(nums[i - k + 1])# 如果队列为空,将当前元素添加到队列中if not dq:dq.append(nums[i])else:# 如果当前元素大于队列中的所有元素,将队列中的所有元素替换为当前元素while dq and nums[i] > dq[0]:dq.popleft()dq.append(nums[i])# 如果当前位置超过了滑动窗口的大小,将队列中的第一个元素移出队列if i >= k - 1:res.append(dq[0])return res

在这个代码中,我们首先从 collections 模块导入 deque 类。然后,我们定义了一个名为 max_in_sliding_window 的函数,该函数接受一个整数数组 nums 和一个整数 k 作为参数。我们首先初始化一个空的双端队列 dq 和一个空的结果数组 res。然后,我们遍历整个 nums 数组。在每个位置,我们首先检查队列中的第一个元素是否仍然在滑动窗口中。如果不在,我们将其从队列中移出。然后,我们将当前元素与队列中的元素进行比较。如果当前元素比队列中的所有元素都大,我们将队列中的所有元素替换为当前元素。最后,我们将当前位置的元素添加到结果数组中,如果当前位置超过了滑动窗口的大小。

http://www.yayakq.cn/news/497535/

相关文章:

  • 上海中学门户网站福建嘉瑞建设工程有限公司网站
  • 东莞建设工程交易中心门户网站python做简单的网站
  • 外卖网站建设无锡网站建设seo
  • 用html5做京东网站代码品牌推广方案怎么写
  • 网站改版文案杭州网站建设规划
  • 服务流程企业网站酒水招商网站大全
  • 潍坊 公司 网站大兴企业网站建设
  • 茂名手机网站建设公司名录黄冈做网站公司
  • 做网站最好用的软件男女做暖暖视频免费网站
  • 泊头网站建设抖音推广
  • 成都网站建设销售如何自己建设简单的手机网站首页
  • 湘潭营销型网站建设平台经济
  • 莆田专业建站公司苏州建设网站首页
  • 网站设置万事达u卡汕头自助建站模板
  • 大人怎么做羞羞的网站电子商务网站建设的期中考试
  • 手机网站自适应宽度一个专做里番的网站
  • 珠海建网站的联系方式陕西网站建设公司哪有
  • 建设一个人才网站需要的人才免费域名解析平台
  • 泰安市高新区建设局网站空间站 参考消息
  • 临夏州建设局网站医院网站建设投标书
  • 有没有好的网站可以学做头发怎么做类似美团的网站
  • 网站运营岗位介绍专业的网络公司有哪些
  • 用flask做的网站wordpress怎么引用js
  • wordpress模板怎么制作视频教程宁波怎样优化关键词
  • 漯河高端网站建设网站重新解析
  • 全广告网站经营网站备案
  • 杭州网站建设服务公司推广软文
  • tq网站漂浮代码西安网站建设培训班
  • 网站建设花多少钱广宁城乡建设网站
  • 手表网站制作照片广州30万人感染