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

甜点的网站建设规划书wordpress自建

甜点的网站建设规划书,wordpress自建,免费看看视频用什么软件好,常州专业房产网站建设黄金挑战:滑动窗口与堆结合 堆的大小一般是有限的,能直接返回当前位置下的最大值或者最小值 该特征与滑动窗口结合,可以解决一些特定场景的问题 1. 滑动窗口与堆问题的结合 LeetCode239 https://leetcode.cn/problems/sliding-window-maxi…

黄金挑战:滑动窗口与堆结合

堆的大小一般是有限的,能直接返回当前位置下的最大值或者最小值
该特征与滑动窗口结合,可以解决一些特定场景的问题

1. 滑动窗口与堆问题的结合

LeetCode239
https://leetcode.cn/problems/sliding-window-maximum/

思路分析

对于最大值,K个最大这种场景,优先队列(堆)是首先该考虑的思路。
大根堆可以帮我们实时维护一系列元素的最大值

具体执行:

  • 先将数组的前K个元素放入大根堆中,此时最大值为堆顶元素
  • 每当窗口右移时,将新元素放入大根堆中,此时最大值可能不在滑动窗口中
    最大值为滑动窗口的前一个元素,此时需要将堆顶元素移除,直到堆顶元素在滑动窗口中
    最大值为滑动窗口中的元素,此时最大值就是堆顶元素
  • 为了方便判断堆顶元素与滑动窗口的位置关系,我们可以在有限队列中存储二元组(num, index),表示元素 num 在数组中的下标为 index

代码实现

import heapqclass Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:n = len(nums)ans = []# 注意 Python 默认的优先队列是小根堆# pyhton 中(int,int)可正常比较大小 (1, 0) < (2, 0), (1, 0) < (1, 1)heap = [(-nums[i], i) for i in range(k)]heapq.heapify(heap)ans.append(-heap[0][0])for i in range(n-k):heapq.heappush(heap, (-nums[i+k], i+k))# 移除堆顶元素,直到堆顶元素在滑动窗口中while heap[0][1] <= i:heapq.heappop(heap)ans.append(-heap[0][0])return ans
http://www.yayakq.cn/news/37232/

相关文章:

  • 珠海网站建设咨询百度云用流量做网站
  • 网站首页设计定位做网站的费用 优帮云
  • 宝塔网站建设跳转微信可打开网站设计客户对接流程
  • 专业做律师网站的公司wordpress md主题
  • 营销型网站制作哪家好南山-网站建设信科网络
  • 门户网站开发价格wordpress 配置邮箱
  • 如何做网站漂浮广告php wordpress面试题
  • 网站设计方案和技巧wordpress编辑教程
  • wordpress两个站点共用用户广西智能网站建设方案
  • 如何把本地网站个人网站有商业内容备案
  • 网站 配色佛山网站建设哪家效果好
  • 网站集约化建设流程c 写网站建设框架
  • 万网网站备案系统邢台seo优化
  • 做电影网站一年赚多少钱产品拍摄
  • 企业网站模板下载哪里泰安做网站网络公司
  • 公司做的网站如何开启伪静态室内设计公司排名及案例
  • 微网站制作速成法做网站三剑客
  • 网站开发的主要内容好看的手机网站布局
  • dede做招聘网站上海的外贸网站建设公司排名
  • 站长工具国产房产资讯最新消息
  • 鲜花网站模版网站小样用什么做
  • 怀柔广州网站建设百度电话怎么转人工
  • 建设安全协会网站苏州工业园区做政务网站的公司
  • 专业高端网站建设网站视频下载
  • 智盈中心网站建设做网站需要些什么资料
  • 做网站需要有公司吗新闻发稿114
  • 建站代理平台ps制作网站效果图
  • 商检局做产地证的网站域名服务器怎么设置
  • 正版厦门网站设计公司网站建设2018
  • 高清的网站制作嘉兴网站