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

哪个网站可以免费看小说不收费/百度卖货平台

哪个网站可以免费看小说不收费,百度卖货平台,中山市住房和城乡建设局网站,成都 网站建设题目:原题链接(困难) 标签:链表、分治算法、堆排序 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(NK2)O(NK^2)O(NK2) : K为列表元素数量O(1)O(1)O(1)超出时间限制Ans 2 (Python)O(NKlogK)O(NKlogK)O(NKlogK): K为列表元素数…

题目:原题链接(困难)

标签:链表、分治算法、堆排序

解法时间复杂度空间复杂度执行用时
Ans 1 (Python)O(N×K2)O(N×K^2)O(N×K2) : K为列表元素数量O(1)O(1)O(1)超出时间限制
Ans 2 (Python)O(N×K×logK)O(N×K×logK)O(N×K×logK): K为列表元素数量O(K)O(K)O(K)176ms (21.45%)
Ans 3 (Python)O(NKlog(NK))O(NKlog(NK))O(NKlog(NK)): K为列表元素数量O(N×K)O(N×K)O(N×K): K为列表元素数量76ms (93.93%)
Ans 4 (Python)O(NKlog(NK))O(NKlog(NK))O(NKlog(NK)): K为列表元素数量O(N×K)O(N×K)O(N×K): K为列表元素数量72ms (97.36%)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一(完全的暴力法):

def mergeKLists(self, lists: List[ListNode]) -> ListNode:ans = node = ListNode(0)while any(lists):min_node = ListNode(float("inf"))min_num = -1for i in range(len(lists)):if lists[i] is not None and lists[i].val < min_node.val:min_num = imin_node = ListNode(lists[i].val)lists[min_num] = lists[min_num].nextnode.next = min_nodenode = node.nextreturn ans.next

解法二(分治算法):

class Solution:# 合并两个顺序链表@staticmethoddef helper(listNode1, listNode2):ans = node = ListNode(0)while listNode1 and listNode2:if listNode1.val < listNode2.val:node.next = ListNode(listNode1.val)listNode1 = listNode1.nextnode = node.nextelse:node.next = ListNode(listNode2.val)listNode2 = listNode2.nextnode = node.nextif listNode1 or listNode2:node.next = listNode1 or listNode2return ans.nextdef mergeKLists(self, lists: List[ListNode]) -> ListNode:if len(lists) == 0:return Noneif len(lists) == 1:return lists[0]mid = len(lists) // 2return Solution.helper(self.mergeKLists(lists[:mid]),self.mergeKLists(lists[mid:]))

解法三(取出所有元素排序):

def mergeKLists(self, lists: List[ListNode]) -> ListNode:values = []for linked in lists:while linked:values.append(linked.val)linked = linked.nextvalues.sort()ans = node = ListNode(0)for v in values:node.next = ListNode(v)node = node.nextreturn ans.next

解法四(解法三使用堆排序):

def mergeKLists(self, lists: List[ListNode]) -> ListNode:import heapqvalues = []for node in lists:while node:heapq.heappush(values, node.val)node = node.nextans = node = ListNode(0)while values:node.next = ListNode(heapq.heappop(values))node = node.nextreturn ans.next
http://www.lbrq.cn/news/1347265.html

相关文章:

  • 关于行业网站建设意见/网络推广外包加手机蛙软件
  • 新疆网络直播课空中课堂/南京seo全网营销
  • 怎么设置自己做的网站吗/如何建立电商平台
  • 许昌做网站公司报价/哈尔滨seo
  • 江山建设工程信息网站/友情链接怎么互换
  • 汕头网站优化/新闻 近期大事件
  • 惠州网站建设 翻译6/2023年8月疫情恢复
  • 有没有做cad单的网站/百度站点
  • 昌平住房和城乡建设委员会网站/怎么宣传网站
  • 深圳有做网站的吗/创建网站需要多少资金
  • 政府网站建设改版通知/seo外链增加
  • 排名优化是什么意思/北京seo运营
  • 怎么让google收录网站/常用的营销方法和手段
  • 怎样做_网站做seo/今日国内新闻最新消息大事
  • 门户网站建设模式包括网站群和/谷歌广告推广
  • 营销单页网站制作/网站查询站长工具
  • 网站开发系统设计/百度自动点击器下载
  • 深圳创意网站/网站软件开发
  • 如何做好网站建设工作/武汉网络推广有限公司
  • 2018年做淘宝客网站还能挣钱吗/北京首页关键词优化
  • 建筑公司网站模板/营销型网站建设目标
  • 网站认证空间/seo百度关键字优化
  • 备案价格网站/外贸推广平台怎么做
  • 赤峰做网站公司/seo课程培训入门
  • 广州做外贸网站建设/百度竞价推广的优势
  • 万江建设网站/网络营销是什么意思?
  • 长沙做网站开发多少钱/餐饮营销引流都有什么方法
  • 免费建立个人视频网站/百度的营销策略
  • 百度识图扫一扫/太原seo关键词排名优化
  • wordpress密码邮箱/东莞整站优化排名
  • VRTE 的应用程序部署到Ubuntu上 报错:bash: ./rb_exmd: No such file or directory
  • (已解决)IDEA突然无法使用Git功能
  • 在 Mac 上安装 IntelliJ IDEA
  • OpenCV 入门教程:开启计算机视觉之旅
  • RabbitMQ面试精讲 Day 15:RabbitMQ故障转移与数据恢复
  • MCU-基于TC397的双BootLoader设计方案