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

幼儿园网站设计和建设昆山网站制作公司

幼儿园网站设计和建设,昆山网站制作公司,网站建设手机软件,小程序wordpress api题目 分析 每次找最大的,pop出来 然后折半,再丢进去 go写法 go如果想用heap,要实现less\len\swap\push\pop 但可以偷懒,用sort.IntSlice,已经实现了less\len\swap 但由于目前是大根堆,要重写一下less 因此&#xff…

题目

在这里插入图片描述

分析

每次找最大的,pop出来
然后折半,再丢进去

go写法

go如果想用heap,要实现less\len\swap\push\pop
但可以偷懒,用sort.IntSlice,已经实现了less\len\swap
但由于目前是大根堆,要重写一下less
因此,优先队列的自定义则为

// heap对应的interface要实现less\len\swap\push\pop
// 但intslice已经实现less\len\swap,但less要重写
type PriorityQueue struct {sort.IntSlice
}func(pq *PriorityQueue) Less(i, j int) bool {return pq.IntSlice[i] > pq.IntSlice[j] // 大根堆
}func(pq *PriorityQueue) Push(v interface{}) {pq.IntSlice = append(pq.IntSlice, v.(int)) // interface转int
}func (pq *PriorityQueue) Pop() interface{} {arr := pq.IntSlicev := arr[len(arr) - 1]pq.IntSlice = arr[:len(arr) - 1]return v
}

ac code

// heap对应的interface要实现less\len\swap\push\pop
// 但intslice已经实现less\len\swap,但less要重写
type PriorityQueue struct {sort.IntSlice
}func(pq *PriorityQueue) Less(i, j int) bool {return pq.IntSlice[i] > pq.IntSlice[j] // 大根堆
}func(pq *PriorityQueue) Push(v interface{}) {pq.IntSlice = append(pq.IntSlice, v.(int)) // interface转int
}func (pq *PriorityQueue) Pop() interface{} {arr := pq.IntSlicev := arr[len(arr) - 1]pq.IntSlice = arr[:len(arr) - 1]return v
}func minStoneSum(piles []int, k int) int {pq := &PriorityQueue{piles} // 传引用,方便修改heap.Init(pq)for i := 0; i < k; i++ {pile := heap.Pop(pq).(int)pile -= pile / 2heap.Push(pq, pile)}sum := 0for len(pq.IntSlice) > 0 {sum += heap.Pop(pq).(int)}return sum
}

总结

注意pq自定义的时候要传引用,这样才能完成修改,而并非复制
注意interface()和基本数据类型的转换.(int)

http://www.dtcms.com/wzjs/147934.html

相关文章:

  • 哪里可以做网站系统武汉大学人民医院
  • 武汉网站搜索引擎优化西安做网站的网络公司
  • 佛山最好的网站建设公司seo外包公司专家
  • 站长工具权重深圳专门做seo的公司
  • 永久免费企业网站申请郑州有没有厉害的seo
  • 创app开发 杭州app开发公司seo推广优化工具
  • 青岛商务学校网站建设近期10大新闻事件
  • 贸易网站模板seo也成搜索引擎优化
  • 什么是门户网站?长沙seo网站管理
  • wordpress 小清新主题郑州抖音seo
  • 厦门公司建站快速开发网站的应用程序
  • 网站ip地址 a记录如何宣传推广自己的产品
  • wordpress装了英文版怎么转中文关键词优化是什么意思
  • 上海 .net网站建设营销推广的主要方法
  • 连云港网站优化长春关键词优化报价
  • 新的网站设计公司指数函数求导
  • 设计名字的网站秦皇岛seo优化
  • 山东岩海建设资源有限公司网站b站视频推广的方法有哪些
  • 绵阳做seo网站公司seo推广效果
  • 中江移动网站建设站长平台百度
  • 免费搭建企业网站跨境电商怎么做
  • 网页设计公司上海深圳seo网站推广方案
  • 跨境电商平台有哪些app重庆网站seo公司
  • 深圳建设网站开发搜索引擎关键词竞价排名
  • 外包服务美剧嘉兴seo网络推广
  • 汕头网站建设sthke新网站友链
  • 使用vue做单页面网站郑州百度搜索优化
  • 长沙网站seo源头厂家百度问答库
  • 做会计要经常关注哪些网站外贸网站推广公司
  • 网站建站模板样例营销型企业网站建设的内容