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

北京做网站公司排公司注册网络推广

北京做网站公司排,公司注册网络推广,大连云app官方下载,wordpress用户权利参考题解 题目:给定一个数组,输出 前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/718916/

相关文章:

  • 爱做网站免费不建网站可不可以做cpa
  • 网站建设静态部分实训总结网页仿制在线
  • 宝安区住房和建设局官方网站WordPress快速发布文章
  • 自己做的网站数据库wordpress定制首页模板
  • 深圳网站维护seo网站备案号怎么看
  • 手机免费做网站学生信息管理系统网页设计教程
  • 做网站技术中国网站建设市场分析报告
  • 东阿网站建设电话重庆网站目录
  • 网站开发和app开发哪个难刷赞网站空间
  • 域名解析到网站知更鸟wordpress显示已收录
  • 广告业网站开发如何注册域名步骤
  • 北京网站改版报价网站建设在阿里云
  • 建立网站一般要多少钱信息发布型网站建设的特点
  • 网站建设软件开发公司东莞网站建设十大品牌
  • 北京网站建设网页设计吉林手机版建站系统信息
  • python基础教程pdf第三版新网站上线怎么做seo
  • 贸易网站建站生成网站 目录
  • 村志网站建设官网做有下拉列表的网站的图片
  • 德清县住房和城乡建设局网站绵阳做手机网站
  • 河南省建设厅八大员网站深圳出名网站建设公司
  • 网站建设尾款收取商丘seo快速排名
  • 做脚本从网站引流响应式网站跟一般网站的区别
  • 郑州高端网站开发合肥营销网站建设
  • 初创公司 建网站网站建设 sheji021
  • 凡科模板建站国家工信部网站备案
  • c 能用来做网站吗百度seo排名优化助手
  • 唐山展望网站建设建设新网站征求意见
  • 吉野家网站谁做的焦作网站建设策划
  • 怎样用jsp做网站 新手教程做网站和做公众号
  • 包头建设局网站南昌做网站kaiu