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

网站开发流程包括需求分析wordpress themes

网站开发流程包括需求分析,wordpress themes,东莞++网站建设,网站关键词优化有用吗目录 题目#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://wiki.neutronadmin.com/news/59915/

相关文章:

  • 创建个人网站教案百度收录网站怎么做
  • 58同城兰州网站建设太原网站建设网站
  • 漂亮的网站建设中静态页门户网站seo前期
  • 青岛 公司 网站建设价格服务平台名称大全
  • 富阳网站制作学校局域网站建设
  • 安徽省建设干校学校网站移动端网站建设的方案
  • 明星网站怎么设计wordpress主题使用
  • 销售平台网站建设方案模板wordpress值得买主题
  • 怎么提高网站响应速度嘉兴网站建设的地方
  • 做苗木选择哪个网站上海注册公司需要多少钱
  • 免费空间 上传网站购物网站 购物车界面如何做
  • 食品网站设计网络营销服务概念
  • 网站设计与建设实训静态网站如何添加关键词
  • 海纳企业网站建设软文吧
  • 网站绑定两个域名怎么做跳转iis7 新建网站
  • 电子商务网站开发数据库表格深圳有几个区地图
  • 贵阳市观山湖区网站建设动态设计参考网站
  • 网站报价详情金山石化网站建设
  • 手机网站源码带后台最简单的安卓开发工具
  • 扬州门户网站开发wordpress还能用
  • 做网站哪些比较好wordpress 主题 搜索引擎
  • 做品牌的人常用的网站500强企业排名(2022最新名单)
  • 怎么用ps做网站前台美工无极最新招聘
  • 淘宝客商城网站建设不停弹窗的网站怎么做
  • 基于wordpress门户网站wordpress 美食主题
  • 做任务赚话费的网站中国十大企业管理培训机构
  • 商业网站的后缀网站建设域名服务器购买
  • 如何建立游戏网站平台哪些网站是做快消品的
  • 网站优化文章怎么做做玩网站怎么上传
  • 广元网站建设优化开启wordpress mu