题目来源:

https://leetcode.com/problems/kth-largest-element-in-a-stream/

自我感觉难度/真实难度:
题意:

这个题目的意思解读了半天,没搞明白什么意思,后来画了一下图,一下子就明了

分析:
自己的代码:
代码效率/结果:
优秀代码:
class KthLargest:

    def __init__(self, k, nums):
"""
:type k: int
:type nums: List[int]
"""
self.pool=nums
self.size=len(self.pool)
self.k=k
heapq.heapify(self.pool)
while self.size>k:
heapq.heappop(self.pool)
self.size-=1 def add(self, val):
"""
:type val: int
:rtype: int
"""
if self.size<self.k:
heapq.heappush(self.pool,val)
self.size+=1
elif val>self.pool[0]:
heapq.heapreplace(self.pool,val)
return self.pool[0]
代码效率/结果:
自己优化后的代码:
反思改进策略:

1.熟悉了一下怎么使用heapqd的常规函数

2.最后这个

if self.size<self.k:
是不是可以省略呢,size是不是不可能大于K,因为初始化的时候,数组就只有K那么大?后面用的replace,不会变大的
验证了一下,不行的:因为输入的list,有可能是空的,这样会报错,out of index

最新文章

  1. 招聘.NET开发人员(截止于2015-06-15)
  2. Web前端代码页面布局总结
  3. EXT 省市三级联动及默认选择
  4. string和vector
  5. SQLSERVER数据库中批量导入数据的几种方法
  6. C# 页面抓取获取快递信息
  7. jquery控制css的display(控制元素的显示与隐藏)
  8. mysql优化之查询优化
  9. Dynamics 365中极特殊语言的文字搜索结果异常
  10. 马拉车算法——求回文子串个数zoj4110
  11. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
  12. Javascript的DOM总结
  13. django之 基于queryset和双下划线的跨表查询
  14. 虚拟机下Linux操作Ubuntu
  15. 配置Synwrite作为Python的IDE
  16. HDU.3571.N-dimensional Sphere(高斯消元 模线性方程组)
  17. nvidia-smi failed because it couldn&#39;t communicate with the nvidia driver
  18. finecms栏目文章页seo设置
  19. App上架流程[利用Archive进行上传]
  20. 洛谷 P1073 最优贸易 解题报告

热门文章

  1. 关于Dubbo异常之Data length too large
  2. JSON 使用 教程
  3. CF 827E Rusty String FFT
  4. egg.js-基于koa2的node.js入门
  5. 学web前端一定要这样学,不然学完找不到工作哭都来不及!
  6. 0ctf2017-babyheap
  7. ASP.Net与JSP如何共享Session值
  8. WEB API 支持多种端的后台
  9. 获取WebService的请求信息
  10. 转:c# 安装包制作