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

聊城的网站制作公司wordpress修改配置文件

聊城的网站制作公司,wordpress修改配置文件,文章类网站源码,珠海市规划建设局网站LeetCode-347. 前 K 个高频元素【数组 哈希表 分治 桶排序 计数 快速选择 排序 堆#xff08;优先队列#xff09;】 题目描述#xff1a;解题思路一#xff1a;哈希表记录出现次数#xff0c;然后用最小堆取#xff0c;因为每次都是弹出最小的#xff0c;剩下的一定是K… LeetCode-347. 前 K 个高频元素【数组 哈希表 分治 桶排序 计数 快速选择 排序 堆优先队列】 题目描述解题思路一哈希表记录出现次数然后用最小堆取因为每次都是弹出最小的剩下的一定是K个最大的。解题思路二直接排序解题思路三堆解题思路三快速排序 题目描述 给你一个整数数组 nums 和一个整数 k 请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 提示 1 nums.length 105 k 的取值范围是 [1, 数组中不相同的元素的个数] 题目数据保证答案唯一换句话说数组中前 k 个高频元素的集合是唯一的 进阶你所设计算法的时间复杂度 必须 优于 O(n log n) 其中 n 是数组大小。 解题思路一哈希表记录出现次数然后用最小堆取因为每次都是弹出最小的剩下的一定是K个最大的。 import heapq # 默认是最小堆 class Solution: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) 1pri_que []for key, freq in map_.items():heapq.heappush(pri_que, (freq, key))if len(pri_que) k: heapq.heappop(pri_que)result [0] * kfor i in range(k-1, -1, -1):result[i] heapq.heappop(pri_que)[1]return result时间复杂度O(nlogk) 空间复杂度O(n) 解题思路二直接排序 class Solution:def topKFrequent(self, nums: List[int], k: int) - List[int]:count collections.Counter(nums)return [item[0] for item in count.most_common(k)]时间复杂度O(nlogn) 空间复杂度O(n) 解题思路三堆 class Solution:def topKFrequent(self, nums: List[int], k: int) - List[int]:count collections.Counter(nums)heap [(val, key) for key, val in count.items()]return [item[1] for item in heapq.nlargest(k, heap)]时间复杂度O(nlogn) 空间复杂度O(n) 解题思路三快速排序 class Solution:def topKFrequent(self, nums: List[int], k: int) - List[int]:count collections.Counter(nums)num_cnt list(count.items())topKs self.findTopK(num_cnt, k, 0, len(num_cnt) - 1)return [item[0] for item in topKs]def findTopK(self, num_cnt, k, low, high):pivot random.randint(low, high)num_cnt[low], num_cnt[pivot] num_cnt[pivot], num_cnt[low]base num_cnt[low][1]i lowfor j in range(low 1, high 1):if num_cnt[j][1] base:num_cnt[i 1], num_cnt[j] num_cnt[j], num_cnt[i 1]i 1num_cnt[low], num_cnt[i] num_cnt[i], num_cnt[low]if i k - 1:return num_cnt[:k]elif i k - 1:return self.findTopK(num_cnt, k, low, i - 1)else:return self.findTopK(num_cnt, k, i 1, high)时间复杂度O(n) 空间复杂度O(n)
http://www.w-s-a.com/news/273712/

相关文章:

  • 电子商务网站的运营一般需要做哪些准备宣传片拍摄思路
  • 网站建设网页制作百度怎么做自己网站
  • 建设设计网站公司巴州建设局网站
  • 淘宝建设网站的好处韶关市网站建设招标
  • 佛山高端网站免费招聘网站建设
  • 申请网站就是做网站吗wordpress tag 优化
  • 建站系统排行榜菏泽机关建设网站
  • 网站群建设费用科技通信网站模板下载
  • 网站开发的流程是怎样的自己做自媒体在哪个网站比较好
  • 网站的html代码在哪网页线上开发制作
  • 免费商用自媒体图片网站做网站好的公司有哪些
  • 阿雷网站建设公司中国建筑考试网官网首页
  • 厦门网站制作网页无法跳转到建设银行网站
  • 怎么建设自己网站简述网页布局的几种方法
  • 软文营销文案100篇如何优化搜索引擎的搜索功能
  • 做网站创意杭州家具网站建设方案
  • 福州seo网站推广优化乐清建网站
  • 莆田cms建站模板简述网站设计流程
  • 班级网站建设组织机构建设注册中心网站首页
  • 即墨网站建设地址怎么在文档中做网站一点就开
  • 做网站联系方式互联网行业分析
  • 杭州网站建设索q479185700高淳网站建设
  • 有什么做任务拿钱的网站精准的搜索引擎优化
  • 洛阳有建社网站的吗电力建设工程质量监督总网站
  • 网站404报错热水器网站建设 中企动力
  • 网站降权恢复淘宝 网站建设
  • 安州区建设局网站台州优秀关键词优化
  • 网站假设教程湖南微信管理系统
  • 网站备案属于公司哪一块哪个网站是专门做封面素材
  • 广州个人做网站内江建设局网站