1 347题目描述

给出一个列表,输出前k个频率最高的元素。

2 源代码

# 347题
# 我的解答
def topKFrequent(nums, k):m = {}num = []for i in nums:if i not in m:m[i] = 1else:m[i] += 1for key, v in m.items():p = (v, key)num.append(p)num.sort(key=lambda x: x[0], reverse=True)print(num)ans = []for i in range(k):ans.append(num[i][1])
#         print(ans, i)return ans
# 347题
# 大佬(柳婼)简洁解答(时间:O(NlogN),空间:O(N))
def topKFrequent(nums, k):freq_dict = {}for v in nums:freq_dict[v] = freq_dict.get(v, 0) + 1res = list(freq_dict.items())res.sort(key=lambda x: x[1], reverse=True)return [res[i][0] for i in range(k)]
# 347题
# 超级大佬(薛玉洁)简洁解答(用堆,时间:O(N),空间:O(1))def topKFrequent(nums, k):import heapq# 先利用字典计数fre_dict = {}for v in nums:fre_dict[v] = fre_dict.get(v, 0) + 1# 创建最小堆heap = []for key, value in fre_dict.items():if len(heap) < k:heapq.heappush(heap, (value, key))continueif value > heap[0][0]:heapq.heapreplace(heap, (value, key))res = []while heap:res.insert(0, heapq.heappop(heap)[1])return restopKFrequent([3,0,1,0], 1)

输出

[0]

数据结构之leetcode 347题相关推荐

  1. 【恋上数据结构】复杂度知识以及LeetCode刷题指南

    基础知识 什么是算法? 如何评判一个算法的好坏? 大O表示法(Big O) 对数阶的细节 常见的复杂度 多个数据规模的情况 LeetCode刷题指南 斐波那契数列复杂度分析 斐波那契数列 - 递归 斐 ...

  2. 算法面试不懂这6大数据结构知识一定挂!(附力扣LeetCode真题讲解)

    本文作者:苏勇,Google 资深技术工程师 首发地址:https://mp.weixin.qq.com/s/u8pvmupISQ5D4kGIkgfKbA 在互联网行业的算法面试中经常会被考到数据结构 ...

  3. 【恋上数据结构】归并排序 + LeetCode真题

    归并排序 前言 归并排序 序列分割-divide 序列合并-merge 合并到新序列 原地合并-merge 原地合并-merge-实现 归并排序完整代码 复杂度与稳定性 常见的递推式与复杂度 Leet ...

  4. Leetcode刷题指南和top100题目

    原文链接:https://blog.csdn.net/qq_39521554/article/details/79160815 参考博文:https://blog.csdn.net/mmc2015/a ...

  5. leetcode零散题汇总

    零散题 golang力扣leetcode 15.三数之和 golang力扣leetcode 128. 最长连续序列 golang力扣leetcode 1345.跳跃游戏IV golang力扣leetc ...

  6. LeetCode 热题100答案

    leetcode 热题100 文章目录 leetcode 热题100 [2. 两数相加](https://leetcode-cn.com/problems/add-two-numbers/) [3. ...

  7. leetcode热题HOT100汇总——java题解已完结撒花

    文章目录 前言 1. 两数之和 2. 两数相加 3.无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 10. 正则表达式匹配 11. 盛最多水的容器 15. 三数之和 17. ...

  8. 关于leetcode刷题详细介绍

      虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会.现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关 ...

  9. 个人LeetCode刷题记录(带题目链接及解答)持续更新

    Leetcode 刷题 注:~[完成]代表还有一些方法没看,最后再看 一.一些需要重刷的典型题: 1.快速排序,归并排序,堆排序(递归的思想) 2.链表中的回文链表,其中的快慢指针,多看,多练 3.链 ...

  10. Leetcode刷题笔记:栈与队列篇

    基础知识 栈和队列的原理大家应该很熟悉了,队列是先进先出,栈是先进后出. 如图所示: 那么我这里再列出四个关于栈的问题,大家可以思考一下.以下是以C++为例,使用其他编程语言的同学也对应思考一下,自己 ...

最新文章

  1. asp.net mvc @RenderBody()的问题
  2. CSU 1328 近似回文词【最长回文字符串(三种方法)】
  3. JZOJ__Day 3:【NOIP普及模拟】数数(count)
  4. com.android.dazhihui,大智慧(com.android.dazhihui) - 9.36 - 应用 - 酷安
  5. 小程序 wx.getBackgroundAudioManager() 手机黑屏后,让控制音频停止
  6. [转]Jquery中AJAX错误信息调试参考
  7. 实验3-10 高速公路超速处罚 (15 分)
  8. rac san+oracle_Oracle RAC安装部署之规划(一)
  9. linux 内存优化
  10. python 词表里的词不符合_【NLP】词表太大怎么办—Adaptive softmax模型和代码解析...
  11. js去空格、去重函数
  12. CPA七--应交增值税(转载)
  13. 三角函数π/2转化_浅谈三角函数导数综合题(1)
  14. 爱折腾星人必备工具 - 系统重启还原精灵 -/ 影子卫士
  15. ionic3 disabled
  16. 微软的一道前端面试题
  17. 【转自知乎】软件实施工程师-简历范文,【工作经历+项目经验+专业技能+自我评价】怎么写
  18. 芯片生产测试中的CP wafer单片测试时间和UPH预估
  19. 麻将公式一定要背下来「大全」
  20. r语言中c5.0参数解释,机器学习与R语言:C5.0

热门文章

  1. 微型计算机每秒计算,微型计算机主要技术指标
  2. 微型计算机内存一般为多少,微型计算机内存容量的基本计量单位
  3. 六、Kali Linux 2 远程控制
  4. [面试题]1000瓶毒药里面只有1瓶是有毒的,问需要多少只老鼠才能试出那瓶有毒。
  5. 计算机软件著作权登记去哪查询,软件著作权在哪里查询
  6. Facebook反爬虫注册策略分析及养号实战
  7. vivado中fifo ipcore的empty和dout输出特征
  8. 月光下的凤尾竹—彩云之南西双版纳游记
  9. 平安智盈人寿保险计算
  10. 16 . USART 串口通信实验