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

用自己的电脑做服务器建网站网络营销制度课完整版

用自己的电脑做服务器建网站,网络营销制度课完整版,合肥网站设计制作,网站建设 生产滑动窗口最大值和前K个高频元素 239. 滑动窗口最大值 核心:建立一个单调队列,维护里面的最大值,并且从大到小的顺序即可!【只需要维护有可能成为窗口里最大值的元素就可以了,同时保证队列里的元素数值是由大到小的。…

滑动窗口最大值和前K个高频元素

239. 滑动窗口最大值

核心:建立一个单调队列,维护里面的最大值,并且从大到小的顺序即可!【只需要维护有可能成为窗口里最大值的元素就可以了,同时保证队列里的元素数值是由大到小的。
from collections import deque
class MyQueue:def __init__(self):self.queue = deque()# 弹出的时候需要比较出口元素是否相等!相等弹出def pop(self,value):if self.queue and value == self.queue[0]:self.queue.popleft()# 维护队列中的元素的从大到小的def push(self, value):while self.queue and value > self.queue[-1]:self.queue.pop()self.queue.append(value)def front(self):return self.queue[0]
# 先判断前面的元素弹出,在插入后面的元素
class Solution:def maxSlidingWindow1(self, nums: List[int], k: int) -> List[int]:que = MyQueue()result = []for i in range(k):que.push(nums[i])result.append(que.front())for i in range(k,len(nums)):# 滑动窗口移除到最前面元素que.pop(nums[i - k])# 滑动窗口前加入最后的元素que.push(nums[i])result.append(que.front())return resultdef maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:# 自己实现单调队列que = []result = []for i in range(k):while que and que[-1] < nums[i]:que.pop(-1) # list.pop()时间复杂度是o(N) 这里会超时que.append(nums[i])result.append(que[0])for i in range(k,len(nums)):if que and que[0] == nums[i - k]:que.pop(0)while que and que[-1] < nums[i]:que.pop(-1)que.append(nums[i])result.append(que[0])return result

347. 前 K 个高频元素

核心:利用字典排序的一些方法!这些方法比较解题关键!
第一种
f = zip(d.keys(), d.values())
c =sorted(f)
第二种
a = sorted(d.items(), key=lambda x: x[1])
a1 = sorted(d.items(),key = lambda x:x[1],reverse = True)
import heapq
class Solution:def topKFrequent1(self, nums: List[int], k: int) -> List[int]:dict_1 = {}res = []for v in nums:if v in dict_1:dict_1[v] += 1else:dict_1[v] = 1a1 = sorted(dict_1.items(),key = lambda x:x[1],reverse = True)# print(a1)for i in a1[:k]:res.append(i[0])return res# 使用堆来实现def topKFrequent(self, nums: List[int], k: int) -> List[int]:map_ = {}# 统计元素出现的频率for i in range(len(nums)):map_[nums[i]] = map_.get(nums[i], 0) + 1 # 对map进行排序# 定义一个小顶堆 大小为kpri_que = []for key, value in map_.items():heapq.heappush(pri_que, (value, key))if len(pri_que) > k: # 如果堆的大小大于了K 则队列弹出,保证对大小为kheapq.heappop(pri_que)result = [0] * kfor i in range(k - 1, -1, -1):result[i] = heapq.heappop(pri_que)[1]return result
http://www.yayakq.cn/news/838499/

相关文章:

  • 网站调用优酷视频去除广告的方法上海市政网
  • 湖南省交通建设质量安全监督管理局网站烟台市最好的专业做网站的公司
  • 网站开发能作为无形资产吗徐州网站开发公司电话
  • django企业网站源码参考消息官方网站
  • 室内设计效果图接单东莞优化哪家好
  • 网站在那里如何查注册商标是别人注册过的
  • asp.net做的网站模板下载wordpress计时
  • 建设招标网是什么网站网站如何做单项链接
  • 西宁建设局官方网站网站站内的seo怎么做
  • WordPress手机站插件阳西县网络问政平台公众号
  • wordpress建站事例南京网站设计是什么
  • h5响应式网站模板如何提交网站给百度
  • 天津高端网站建设企业网线制作原理
  • 个人做网站能赚钱吗商城网站开发价格
  • 怎么做国内网站吗网站建设人员考核
  • 查找网站备案神马seo教程
  • 吴江建设工程招标中心网站深度科技有限公司
  • 女性做网站很有名的网站建设要做原型图吗
  • 外贸互联网推广的如何学做网站优化
  • 推荐10个优秀的国外ui设计网站WordPress mip 评论框
  • 网站推广连接怎么做的做视频发哪个网站赚钱
  • 设计素材网站0百度推广运营怎么做
  • 做网站高亮qingdao城乡住房建设厅网站
  • 最牛的视频网站建设网站外链要怎么做
  • 江苏建设招标信息网站杭州手机网站开发
  • 保定网站定制公司网站热区图
  • 北京别墅设计网站如何开网站卖东西
  • 网站建设实训报告收获网络管理中心
  • 玉环 企业网站建设登陆国外的网站要这么做
  • 网站建设夬金手指排名壹柒福田网站(建设深圳信科)