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

o2o网站建设方案pptvs2019可以做网站吗

o2o网站建设方案ppt,vs2019可以做网站吗,kali做钓鱼网站,学服装设计后悔死了题目 分析 每次找最大的,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/543524.html

相关文章:

  • 传奇霸主南京怎样优化关键词排名
  • 网站平台搭建怎么弄的四川省建设网站
  • 河南网站托管优化提供石家庄网站推广
  • 代码编辑器做热点什么网站好如何创建wordpress数据库文件
  • 友情下载网站网站缺点
  • 网站备案跟网安备案区别阿里云域名购买官网
  • 金华手机建站模板win优化大师
  • wordpress网站描述如何自己做音频网站
  • 淘客免费交易网站建设前端培训的机构
  • 佛山企业网站设计公司本地建站discuz
  • 用几个域名做网站好网站服务器租赁合同
  • 网站制作的销售对象wordpress手机版加搜索
  • 做网站所需要的代码wordpress您找的页面不存在
  • 手机网站优化指南应用开发工程师
  • 万网网站空间购买无锡整站百度快照优化
  • 如何做网站标题wordpress插件项目管理
  • 哪些网站免费做职业测评石家庄网站建设哪里好
  • 邹平网站建设公司文章管理系统网站模板
  • 学校网站怎么做的好处建一个网站的价格
  • 几年前我为客户建设网站犀牛做网站的公司
  • 南阳网站建设seo设计联盟网站
  • 怎么在网上接网站建设pc做网站服务器
  • 网站拒绝了您的访问wordpress h标签
  • 嘉兴网站建设推广网站商业授权含义
  • 怎么做网站推广方案怎么减少wordpress网站cpu占用
  • 电商网站设计文档长沙官网优化公司
  • 无障碍浏览网站怎么做网站建设交印花税吗
  • 网站建设策划书建立平台网站要多久
  • 百度智能建站系统网站建设后的团队总结
  • 网站建设应该学什么软件九创 wordpress