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

做一个独立网站需要多少钱培训网站官网

做一个独立网站需要多少钱,培训网站官网,洛阳市App网站开发公司,产品创意设计作品解题思路: ​​统计频率: 使用哈希表统计每个元素的出现频率。维护最小堆: 遍历哈希表,将元素及其频率存入最小堆,堆的大小保持为 k。当堆的大小超过 k 时,如果当前元素频率大于堆顶,弹出堆顶并…

在这里插入图片描述

解题思路:

  1. ​​统计频率: 使用哈希表统计每个元素的出现频率。
  2. 维护最小堆: 遍历哈希表,将元素及其频率存入最小堆,堆的大小保持为 k。当堆的大小超过 k 时,如果当前元素频率大于堆顶,弹出堆顶并存入当前元素及其频率。
  3. ​​提取结果: 堆中剩余的元素即为前 k 个高频元素。

Java代码:

class Solution {public int[] topKFrequent(int[] nums, int k) {Map<Integer, Integer> map = new HashMap<>();for (int num : nums)map.put(num, map.getOrDefault(num, 0) + 1);PriorityQueue<Map.Entry<Integer, Integer>> minHeap = new PriorityQueue<>((a, b) -> a.getValue() - b.getValue());for (Map.Entry<Integer, Integer> entry : map.entrySet()) {if (minHeap.size() < k) {minHeap.offer(entry);} else if (entry.getValue() > minHeap.peek().getValue()) {minHeap.poll();minHeap.offer(entry);}}int[] result = new int[k];for (int i = 0; i < k; i++)result[i] = minHeap.poll().getKey();return result;}
}

复杂度分析:

  • 时间复杂度: 每个元素插入和删除的复杂度为 O(log k),总共有 n 个元素,因此总复杂度为 O(n log k)。
  • 空间复杂度: 哈希表存储 O(n),堆存储最多 k 个元素,总复杂度为 O(n)。

在这里插入图片描述

解题思路:

  1. 数据结构设计​:
  • 最大堆(maxHeap)​​:存储较小的一半元素,堆顶为最大值。
  • ​​最小堆(minHeap)​​:存储较大的一半元素,堆顶为最小值。
  • 平衡条件​​:maxHeap 的大小最多比 minHeap 大 1,或两者大小相等。
  1. 添加元素逻辑​​:
  • 若新元素小于等于 maxHeap 的堆顶,插入 maxHeap;否则插入 minHeap。
  • 平衡调整:
    • 若 maxHeap 的大小超过 minHeap 的大小 + 1,将 maxHeap 的堆顶移到 minHeap。
    • 若 minHeap 的大小超过 maxHeap,将 minHeap 的堆顶移到 maxHeap。
  1. 查找中位数:
  • 若两堆大小相等,返回两堆顶的平均值。
  • 否则,返回 maxHeap 的堆顶(奇数情况)。

Java代码:

public class MedianFinder {private PriorityQueue<Integer> maxHeap;private PriorityQueue<Integer> minHeap;public MedianFinder() {maxHeap = new PriorityQueue<>((a, b) -> b - a); // 负数 a 在前,0 相等,正数 a 在后minHeap = new PriorityQueue<>();}public void addNum(int num) {if (maxHeap.isEmpty() || num <= maxHeap.peek()) {maxHeap.offer(num);} else {minHeap.offer(num);}if (maxHeap.size() > minHeap.size() + 1) {minHeap.offer(maxHeap.poll());} else if (minHeap.size() > maxHeap.size()) {maxHeap.offer(minHeap.poll());}}public double findMedian() {if (maxHeap.size() > minHeap.size()) {return maxHeap.peek();} else {return (maxHeap.peek() + minHeap.peek()) / 2.0;}}
}

复杂度分析:

  • 时间复杂度: O(log n)。
  • 空间复杂度: 两个堆的总空间为 O(n)。
http://www.dtcms.com/wzjs/135815.html

相关文章:

  • 上海免费做网站无线网络优化
  • 网站如何做触屏滑动兰州seo关键词优化
  • php动态网站开发课本答案阿里巴巴运营
  • 住房和城乡建设部科技网站首页网页优化最为重要的内容是
  • 浏览器网站建站seo推广
  • 网站建设图片怎么切泉州seo按天计费
  • 重庆有名的网站建设福州网站快速排名提升
  • 西宁的网站建设公司软件外包网
  • 网站制作设计农产品品牌推广方案
  • 自己免费怎么制作网站2023新闻摘抄大全
  • 做家教中介网站赚钱吗在线磁力搜索引擎
  • 策略类网页游戏开服表合作seo公司
  • 凌晨网站建设公司中国企业网
  • 网站购物车怎么做长春建站程序
  • 郑州网站推广排名郑州网站推广
  • 政府部门网站建设必要性百度网站的网址
  • wordpress隐藏内容破解正规seo关键词排名网络公司
  • 大型社区网站开发文档网站域名查询ip地址
  • 自适应网站模板企业网站的网站建设
  • 神华集团两学一做登陆网站手机版谷歌浏览器入口
  • 贵州企业网站友链之家
  • 做dw网站图片怎么下载seo排名优化价格
  • 阿里云服务起做网站网站在线制作
  • 电商设计灵感网站合肥网站推广优化
  • 惠州网站建设公司曾建设网站的网络公司
  • 免费1级做爰片观看网站在线视频河北网站优化公司
  • 济南市城市建设规划局官方网站哪里注册域名最便宜
  • 旅游网站做精准营销的信阳百度推广公司电话
  • 上海网站推广平台网页开发流程
  • wordpress去掉wordpress.orgseo公司怎样找客户