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

公司建立网站的必要性东莞seo服务商

公司建立网站的必要性,东莞seo服务商,深圳一建公司,word 发布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/773209/

相关文章:

  • 焦作网站建设设计公司如何注册自媒体平台
  • 北京城建亚泰建设集团有限公司网站seo项目分析
  • 外贸网站优化免费渠道专业网站建设公司首选
  • 增城做网站公司餐饮店怎么做营销和推广
  • 西安代做毕业设计网站网站建设免
  • 专业帮人做网站号码织梦分类信息做的网站
  • 广州企业建站哪个平台可以免费发广告
  • 网站建设的技术需要建站网址打不开
  • 网站竞价排名wordpress子域名站点
  • 网站建设培训学院东莞市企业网站制作服务机构
  • 无锡做网站seo的一站式网站建设平台
  • 人才网站建站杭州做网站模板
  • 有谁会设制网站如何网站做淘客
  • 江苏住房城乡建设部网站做网站广告怎么做
  • 电子手表网站中山 网站推广
  • 腾讯建设网站视频川汇网站建设
  • 咨询网站源码外贸网络营销如何选取关键词
  • 网站建设中建站广告html单页面网站都有服务器吗
  • 旅游网站设计与实现网站台做计么呢
  • 石家庄网站建设多少钱电商广告
  • 网站自己维护图片摄影网站
  • 自己建网站怎么做seo手表网站 二手
  • 产品介绍网站设计中国建设银行网站官网下载
  • 衡水网站推广烟台网站建设合肥公司
  • 陕西网站制作公司专业网络分销平台
  • 网站建设文档杭州网站建设哪个平台好
  • dedecms游戏门户网站源码石家庄情况最新消息今天
  • 淮南定制网站建设公司可视化微信小程序制作工具
  • 网站站长是什么意思网战
  • 百度地图广告投放百度怎么做关键词优化