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

网站建设中英语建一个小型购物网站要有服务器

网站建设中英语,建一个小型购物网站要有服务器,建筑模板规格尺寸表详细,超市网站建设目录 题目#xff1a;在数组中找第K大的元素解法1#xff1a;维护长度为k的最小堆#xff0c;遍历n-k个元素#xff0c;逐一和堆顶值对比后#xff0c;和堆顶交换#xff0c;最后返回堆顶复杂度#xff1a;时间复杂度 O ( k ( n − k ) l o g k ) O(k(n-k)logk) O(k(n−… 目录 题目在数组中找第K大的元素解法1维护长度为k的最小堆遍历n-k个元素逐一和堆顶值对比后和堆顶交换最后返回堆顶复杂度时间复杂度 O ( k ( n − k ) l o g k ) O(k(n-k)logk) O(k(n−k)logk)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 解法2构建长度为n的最大堆遍历k次每次删除堆顶且堆长度-1最后返回堆顶k较小时此法更优复杂度时间复杂度 O ( n k l o g n ) O(nklogn) O(nklogn)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目堆排序思路分析构建长度为n的最大堆依次删除堆顶并逆序放到数组尾部且堆长度-1n-1次后数组则为升序复杂度时间复杂度 O ( n l o g ( n ) ) O(nlog(n)) O(nlog(n))、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目合并K个排序链表思路分析维护长度为k的最小堆依次删除堆顶接到返回链表上纵向拼接注意取值时判断空链表复杂度时间复杂度 O ( k n l o g k ) O(knlogk) O(knlogk)、空间复杂度 O ( 1 ) O(1) O(1)Go代码 题目在数组中找第K大的元素 题目链接LeetCode-215. 数组中的第K个最大元素 解法1维护长度为k的最小堆遍历n-k个元素逐一和堆顶值对比后和堆顶交换最后返回堆顶 复杂度时间复杂度 O ( k ( n − k ) l o g k ) O(k(n-k)logk) O(k(n−k)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;ilength;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); i0; i-- {minHeap(arr, i, length)} }// 最小堆化 func minHeap(arr []int, i int, length int) {left, right : 2*i1, 2*i2min : 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(nklogn) O(nklogn)、空间复杂度 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; ik; 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); i0; i-- {maxHeap(arr, i, length)} } // 最大堆化 func maxHeap(arr []int, i int, length int) {l, r, max : 2*i1, 2*i2, iif llength arr[l] arr[max] {max l}if rlength arr[r] arr[max] {max r}if max ! i {arr[max], arr[i] arr[i], arr[max]maxHeap(arr, max, length)} }题目堆排序 题目链接LeetCode-912. 排序数组 思路分析构建长度为n的最大堆依次删除堆顶并逆序放到数组尾部且堆长度-1n-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; i0; 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; i0; i-- {maxHeap(nums, i, length)} } // 最大堆化 func maxHeap(nums []int, i int, length int) {l, r, max : 2*i1, 2*i2, iif llength nums[l] nums[max] {max l}if rlength 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(knlogk) O(knlogk)、空间复杂度 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; ilength; 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; i0; i-- {minHeap(arr, i, length)} }func minHeap(arr []*ListNode, i, length int) {left, right, min : 2*i1, 2*i2, iif leftlength arr[left].Val arr[min].Val {min left}if rightlength arr[right].Val arr[min].Val {min right}if min ! i {arr[min], arr[i] arr[i], arr[min]minHeap(arr, min, length)} }
http://www.pierceye.com/news/445891/

相关文章:

  • 宜昌网站建设制作公司网站301在哪做
  • 备案网站分布地点wordpress如何去掉amp:
  • 做一个小说阅读网站怎么做网站 没有备案 访问不了
  • 乐山乐人网站建设公司网站域名查主机名
  • 自适应网站的代表腰肌劳损的自我治疗和恢复的方法有什么?
  • 玉环城乡建设规划局网站企业网站源码带后台
  • 网站热点关键词免费可商用素材网站
  • 网站站内优化案例自己做的网页怎么上传网站吗
  • 深圳制作网站有用吗如何做网站优化
  • 皖住房建设厅网站the 7 wordpress
  • 怎么自己学着做网站写网站代码
  • 自己电脑上做的网站 怎么让别人看怎么做网站在谷歌
  • 同一ip 网站 权重怎样做才能发布你的网站
  • 上海利恩建设集团有限公司网站社交网站先做pc站可以吗
  • 用网站做淘宝客新媒体销售好做吗
  • 手机模板的网站哪个好wordpress关闭google字体
  • 医疗行业网站怎么做网站反链和外链的区别
  • html网站开发事例教程一起做网店官网下载
  • 中小企业网站优化锦州网站制作公司
  • 谁会在掏宝网上做网站网站开发与设计课程设计
  • 公司网站建设的改进的建议前潮网络网站建设
  • 济宁500元网站建设wordpress 安装错误
  • 网站建设周记网站建设公司面临的问题
  • 网站可视化编辑普通网站与营销型网站有什么区别
  • 网站 手机 微信 app福建网站开发企业
  • 台州网站制作推广net网站开发教程
  • seo的网站点个赞科技 网站制作
  • 百合网 网站 开发做推广都有什么网站
  • 娄底建设网站的公司wordpress 五色可选
  • 椒江网站建设公司企业网站建设合同书模板