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

做问卷比较好的网站英文谷歌优化

做问卷比较好的网站,英文谷歌优化,房产网站怎么做,廊坊seo管理滑动窗口最大值和前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.hkea.cn/news/616746/

相关文章:

  • 月夜影视在线观看免费完整版韩剧关键词排名优化报价
  • 做网站的工作时间兰州seo公司
  • css怎么嵌入到html直通车关键词优化口诀
  • 虚拟网站php专业型seo网站关键词排名提升
  • 找人合伙做网站平台b2b电商平台
  • 手机网站建设技术方案找网站设计公司
  • 杭州如何设计公司网站惠州seo网站推广
  • 成都网站建设门户大连企业网站建站模板
  • 游戏卡充值可以做网站吗百度竞价关键词出价技巧
  • 建设企业网站就等于开展网络营销网店推广实训报告
  • dede无法更新网站主页到百度联盟注册
  • wordpress支持爱奇艺企业网站seo托管怎么做
  • 永川做网站的武汉百度快速排名提升
  • 做网站的故意给中病毒网络营销广告
  • 关于阅读类网站的建设规划书友情链接系统
  • 专业做幼儿园设计的网站百度小程序关键词优化
  • 腾龙时时彩做号网站整站优化关键词排名
  • 正规的网站制作与推广百度广告运营
  • 网站建设估价引擎搜索有哪些
  • 东莞网站建设选菲凡网络如何制作网站
  • 网站收录系统备案查询官网
  • 临朐县网站建设利用搜索引擎营销成功的案例
  • 利用网盘做视频网站镇江优化推广
  • 视频微网站开发哪个公司网站设计好
  • 品网站建设智能搜索引擎
  • 怎样在百度建网站seo建设者
  • 四海网络网站建设咨询什么叫做网络营销
  • 安徽建设网官方网站优化分析
  • 网站根目录文件名游戏推广员是做什么的
  • 个体工商户怎么做网站西安网站seo技术