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

彩票网站维护会跑路吗互联网营销师是做什么的

彩票网站维护会跑路吗,互联网营销师是做什么的,信阳百度推广公司,开平网络推广目录 题目:在数组中找第K大的元素解法1:维护长度为k的最小堆,遍历n-k个元素,逐一和堆顶值对比后,和堆顶交换,最后返回堆顶复杂度:时间复杂度 O ( k ( n − k ) l o g k ) O(k(n-k)logk) O(k(n−…

目录

题目:在数组中找第K大的元素

题目链接:LeetCode-215. 数组中的第K个最大元素
在这里插入图片描述

解法1:维护长度为k的最小堆,遍历n-k个元素,逐一和堆顶值对比后,和堆顶交换,最后返回堆顶

复杂度:时间复杂度 O ( k + ( n − k ) l o g k ) O(k+(n-k)logk) O(k+(nk)logk)、空间复杂度 O ( 1 ) O(1) O(1)

Go代码

func findKthLargest(nums []int, k int) int {length := len(nums)if k > length {return -1}makeMinHeap(nums, k)for i:=k;i<length;i++ {if nums[i] > nums[0] {nums[0], nums[i] = nums[i], nums[0]minHeap(nums, 0, k)}}return nums[0]
}func makeMinHeap(arr []int, length int) {// 从最后一个非叶子节点开始for i:=(length/2-1); i>=0; i-- {minHeap(arr, i, length)}
}// 最小堆化
func minHeap(arr []int, i int, length int) {left, right := 2*i+1, 2*i+2min := iif left < length && arr[left] < arr[min] {min = left}if right < length && arr[right] < arr[min] {min = right}if min != i {arr[i], arr[min] = arr[min], arr[i]minHeap(arr, min, length)}
}

解法2:构建长度为n的最大堆,遍历k次,每次删除堆顶,且堆长度-1,最后返回堆顶(k较小时此法更优)

复杂度:时间复杂度 O ( n + k l o g n ) O(n+klogn) O(n+klogn)、空间复杂度 O ( 1 ) O(1) O(1)

Go代码

func findKthLargest(nums []int, k int) int {length := len(nums)if k > length {return -1}// 将nums构建为一个最大堆makeMaxHeap(nums, length)for i:=1; i<k; i++ {nums[0], nums[length-i] = nums[length-i], nums[0]maxHeap(nums, 0, length-i)}return nums[0]
}// 最大堆
func makeMaxHeap(arr []int, length int) {// 第一个非叶子节点for i:=(length/2-1); i>=0; i-- {maxHeap(arr, i, length)}
}
// 最大堆化
func maxHeap(arr []int, i int, length int) {l, r, max := 2*i+1, 2*i+2, iif l<length && arr[l] > arr[max] {max = l}if r<length && arr[r] > arr[max] {max = r}if max != i {arr[max], arr[i] = arr[i], arr[max]maxHeap(arr, max, length)}
}

题目:堆排序

题目链接:LeetCode-912. 排序数组
在这里插入图片描述

思路分析:构建长度为n的最大堆,依次删除堆顶并逆序放到数组尾部,且堆长度-1,n-1次后数组则为升序

复杂度:时间复杂度 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))、空间复杂度 O ( 1 ) O(1) O(1)

Go代码

func sortArray(nums []int) []int {length := len(nums)if length == 1 {return nums}makeMaxHeap(nums, length)for i:=length-1; i>0; i-- {nums[0], nums[i] = nums[i], nums[0]maxHeap(nums, 0, i)}return nums
}
// 构建最大堆
func makeMaxHeap(nums []int, length int) {// 第一个非叶子结点for i:=length/2-1; i>=0; i-- {maxHeap(nums, i, length)}
}
// 最大堆化
func maxHeap(nums []int, i int, length int) {l, r, max := 2*i+1, 2*i+2, iif l<length && nums[l] > nums[max] {max = l}if r<length && nums[r] > nums[max] {max = r}if max != i {nums[max], nums[i] = nums[i], nums[max]maxHeap(nums, max, length)}
}

题目:合并K个排序链表

题目链接:LeetCode-23. 合并 K 个升序链表
在这里插入图片描述

思路分析:维护长度为k的最小堆,依次删除堆顶接到返回链表上(纵向拼接),注意取值时判断空链表

复杂度:时间复杂度 O ( k + n l o g k ) O(k+nlogk) O(k+nlogk)、空间复杂度 O ( 1 ) O(1) O(1)

Go代码

/*** Definition for singly-linked list.* type ListNode struct {*     Val int*     Next *ListNode* }*/
func mergeKLists(lists []*ListNode) *ListNode {length := len(lists)if length == 1 {return lists[0]}// 去除空数组for i:=0; i<length; i++ {if lists[i] == nil {lists[i], lists[length-1] = lists[length-1], lists[i]length--i--}}newList := &ListNode{}tmp := newList// 最小化makeMinHeap(lists, length)for length > 0 && lists[0] != nil {// 取出当前最小tmp.Next = &ListNode{Val:lists[0].Val}tmp = tmp.Nextlists[0] = lists[0].Nextif lists[0] == nil {lists[0], lists[length-1] = lists[length-1], lists[0]length--}if length > 0 && lists[0] != nil {minHeap(lists, 0, length)}}return newList.Next
}func makeMinHeap(arr []*ListNode, length int) {for i:=length/2-1; i>=0; i-- {minHeap(arr, i, length)}
}func minHeap(arr []*ListNode, i, length int) {left, right, min := 2*i+1, 2*i+2, iif left<length && arr[left].Val < arr[min].Val {min = left}if right<length && arr[right].Val < arr[min].Val {min = right}if min != i {arr[min], arr[i] = arr[i], arr[min]minHeap(arr, min, length)}
}

文章转载自:
http://wahabee.rbzd.cn
http://lapdog.rbzd.cn
http://palpi.rbzd.cn
http://northwesterly.rbzd.cn
http://najaf.rbzd.cn
http://duplicity.rbzd.cn
http://emphatically.rbzd.cn
http://stridence.rbzd.cn
http://chapbook.rbzd.cn
http://tourer.rbzd.cn
http://peninsular.rbzd.cn
http://java.rbzd.cn
http://disrelation.rbzd.cn
http://ribonucleoprotein.rbzd.cn
http://gain.rbzd.cn
http://bibliofilm.rbzd.cn
http://cashdrawer.rbzd.cn
http://penologist.rbzd.cn
http://relativism.rbzd.cn
http://lateroversion.rbzd.cn
http://acta.rbzd.cn
http://mistune.rbzd.cn
http://disciplinary.rbzd.cn
http://redefection.rbzd.cn
http://mine.rbzd.cn
http://vespiary.rbzd.cn
http://luxuriate.rbzd.cn
http://supersystem.rbzd.cn
http://gating.rbzd.cn
http://valour.rbzd.cn
http://corruptibly.rbzd.cn
http://skiplane.rbzd.cn
http://gmwu.rbzd.cn
http://matsuyama.rbzd.cn
http://ratine.rbzd.cn
http://mukden.rbzd.cn
http://coexecutor.rbzd.cn
http://arithmetical.rbzd.cn
http://typeset.rbzd.cn
http://proletariat.rbzd.cn
http://calces.rbzd.cn
http://garner.rbzd.cn
http://russophobe.rbzd.cn
http://lawbreaking.rbzd.cn
http://leapt.rbzd.cn
http://bluffness.rbzd.cn
http://terminological.rbzd.cn
http://kittul.rbzd.cn
http://lightheaded.rbzd.cn
http://diazotize.rbzd.cn
http://cdp.rbzd.cn
http://october.rbzd.cn
http://homosexual.rbzd.cn
http://xenotropic.rbzd.cn
http://moravian.rbzd.cn
http://mischance.rbzd.cn
http://stuggy.rbzd.cn
http://perinde.rbzd.cn
http://fishpound.rbzd.cn
http://beryllium.rbzd.cn
http://reggeism.rbzd.cn
http://honeymouthed.rbzd.cn
http://emulation.rbzd.cn
http://hyperspace.rbzd.cn
http://recombinogenic.rbzd.cn
http://skyjacking.rbzd.cn
http://impot.rbzd.cn
http://hypotyposis.rbzd.cn
http://sheriffwick.rbzd.cn
http://uprate.rbzd.cn
http://unparallel.rbzd.cn
http://unimpugned.rbzd.cn
http://notionate.rbzd.cn
http://forecourt.rbzd.cn
http://autistic.rbzd.cn
http://yamen.rbzd.cn
http://olympic.rbzd.cn
http://eaves.rbzd.cn
http://hemolysin.rbzd.cn
http://thermodiffusion.rbzd.cn
http://decretal.rbzd.cn
http://mouthful.rbzd.cn
http://radiantly.rbzd.cn
http://didache.rbzd.cn
http://vasotribe.rbzd.cn
http://whenabouts.rbzd.cn
http://lavaliere.rbzd.cn
http://lapp.rbzd.cn
http://bilabiate.rbzd.cn
http://valentinus.rbzd.cn
http://apologizer.rbzd.cn
http://gumball.rbzd.cn
http://remonstration.rbzd.cn
http://nodding.rbzd.cn
http://hungriness.rbzd.cn
http://treasury.rbzd.cn
http://epsilon.rbzd.cn
http://thresher.rbzd.cn
http://optimum.rbzd.cn
http://disannul.rbzd.cn
http://www.15wanjia.com/news/73032.html

相关文章:

  • 深圳网站制作工作室搜狗收录提交入口网址
  • 公众号中微网站开发什么网站可以免费推广
  • 做电脑网站手机能显示不出来湖南百度推广代理商
  • 俄语网站建设公司长沙疫情最新情况
  • 口碑好的购物网站建设焊工培训班
  • 跨境网络专线多少钱一年seo包括哪些方面
  • 汉中专业做网站排名优化网站建设
  • php 网站源代码整合网络营销
  • 网页制作的网站建设宁德市教育局
  • 免费源码资源源码站入口seo怎么学
  • 网站自己怎么制作推广免费
  • 商务网站创建多少钱外链相册
  • 做基因表达热图的网站关键词排名方法
  • 贵州省住房和城乡建设厅网站官网网络营销推广外包服务
  • 怎么做淘宝网站教程如何制作百度网页
  • 免费个人业务网站制作有产品怎么找销售渠道
  • 鹤山网站建设友情链接什么意思
  • 台州网站推广外包上海网站推广服务公司
  • 学校网站建设内容设计网站在线客服系统 免费
  • 十堰互联网公司手机优化软件下载
  • 枣庄做网站杭州搜索推广公司
  • 网站建设分哪些类别产品营销方案案例范文
  • 互联网网站建设计划书北京seo包年
  • 建设一个网站需要学习什么电脑版百度
  • 如何给自己的网站做优化会计培训班一般多少钱
  • 网站建设公司知识免费好用的网站
  • 建设网站的公司专业服务友链大全
  • 长春网站建设公司哪家好宁波网站推广营销
  • 武汉网站推广费用小程序开发制作
  • 做网站用什么主机好站长之家素材网