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

广州百度网站建设公司做知识产权相关的网站

广州百度网站建设公司,做知识产权相关的网站,深圳外贸网站建设哪家好,中山快速做网站价格参考题解 题目:给定一个数组,输出 前k个高频元素。 思路: 遍历数组,建立小根堆(小根堆的元素是元组(num,freq),排序规则是每个元素的频率)。 下面使用数组‘heap’&…

参考题解

题目:给定一个数组,输出 前k个高频元素。
思路:
遍历数组,建立小根堆(小根堆的元素是元组(num,freq),排序规则是每个元素的频率)。
下面使用数组‘heap’,函数’shift_down’,函数‘shift_up’等实现小根堆及其调整(上浮、下沉)。

 def topKFrequent(self, nums: List[int], k: int) -> List[int]:def shift_down(arr,root,k):# 下沉的原因是,新换了堆顶,我们需要为这个堆顶元素找到它在堆中的正确位置# k表示目前堆的有效大小val=arr[root] # root node : <num,freq>while root<<1 <k:child=root<<1if child|1<k and arr[child|1][1]<arr[child][1]:child|=1if arr[child][1]<val[1]:arr[root]=arr[child]root=childelse:breakarr[root]=valdef shift_up(arr,child):# 上浮调整操作,# 上浮原因是,我们在堆的末尾添加了新元素,我们需要为这个新元素找到它在堆中的正确位置val=arr[child]while child>>1 >0 and arr[child>>1][1]>val[1]:arr[child]=arr[child>>1]child>>=1arr[child]=valstat=collections.Counter(nums)# 清点数组nums中的元素个数stat=list(stat.items())heap=[(0,0)] # 用(0,0)做垫底,为了实现在数组中方便找到父子节点之间的联系,如果父节点的索引是root,那么左孩子的索引是root<<1,右孩子的索引是(root<<1)|1。相反地,如果孩子的索引是child,那么父的索引是child>>1for i in range(k):heap.append(stat[i])shift_up(heap,len(heap)-1)for i in range(k,len(stat)):if heap[1][1]<stat[i][1]:heap[1]=stat[i]shift_down(heap,1,k+1)return [item[0] for item in heap[1:]]
http://www.yayakq.cn/news/976457/

相关文章:

  • 网站开发小作业手机网站存储登录信息
  • 网站可做2个首页吗电商直播培训
  • 电子商务网站建设过程范文郑州百姓网招聘
  • 四面山网站建设杭州网站优化公司
  • 做外贸的怎样才能上国外网站公司购买网站怎么做分录
  • 班级网站建设php电子商务网站建设概括
  • seo优化网站百度技术wordpress 微博主题 twitter主题
  • 没有网站如何做cpa推广网站开发里程碑
  • 公司网站制作注意事项品牌营销策划过程
  • 网站建设培训厦门discuz建网站
  • 宜昌做网站公司软件开发费和网站建设
  • 网站设计公司行业排名软装设计用什么软件
  • 做网站备案实名需要钱吗如何推广微信视频号
  • 邢台专业网站建设费用汕头模板建站软件
  • 德州有名的网站建设公司搬家公司电话附近
  • 做网站什么商品好网站建设策划方案t
  • 搭建网站要用到的工具wordpress博客主题下载
  • 东莞最好的网站成都网站建设培训学校
  • 图文广告公司名称给甜品网站做seo
  • 网站集约化建设情况空间和域名一年多少钱
  • 建设企业网银u盾网站打不开wordpress博客网站描述在哪里
  • 如何做网站首页收录创意广告公司名字
  • 重庆建设机电有限公司网站做招聘图片的网站
  • 电子商务网站盈利模式入职简历模板
  • 电子商务论文网站建设开发网站建设的问卷调查
  • 什么网站了解国家建设的行情免费发帖推广平台
  • 需求网站电商网站建设那家好
  • 学网站建设的学校大连招投标网官网
  • 宜宾市做网站多少钱怎样制作手机视频教程
  • 品牌网站如何做seowordpress level