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

怎么把WordPress和域名解绑网站建设 猫云seo

怎么把WordPress和域名解绑,网站建设 猫云seo,动漫设计和动画设计,确定建设电子网站的目的目录 题目描述 方法一、k-1次两两合并 方法二、分治法合并 方法三、使用优先队列 题目描述 23. Merge k Sorted Lists 方法一、k-1次两两合并 选第一个链表作为结果链表,每次将后面未合并的链表合并到结果链表中,经过k-1次合并,即可得到…

目录

题目描述

方法一、k-1次两两合并

方法二、分治法合并

方法三、使用优先队列


题目描述

23. Merge k Sorted Lists

方法一、k-1次两两合并

选第一个链表作为结果链表,每次将后面未合并的链表合并到结果链表中,经过k-1次合并,即可得到答案。假设每个链表的最长长度是n,时间复杂度O(n+2n+3n+...(k-1)n) = O(\frac{k(k-1))}{2}n) = O(k^{2}n)。空间复杂度O(1)。

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* mergeKLists(vector<ListNode*>& lists) {int n = lists.size();if(n == 0)return nullptr;ListNode* ans = lists[0];for(int i = 1;i< n;i++){ans = merge(ans,lists[i]);}return ans;}ListNode* merge(ListNode* L1,ListNode* L2){ListNode* dummy = new ListNode();ListNode* cur = dummy;while(L1&&L2){if(L1->val < L2->val){cur->next = L1;cur = L1;L1 = L1->next;}else{cur->next = L2;cur = L2;L2 = L2->next;}}cur->next = L1 != nullptr ? L1 : L2;ListNode* res = dummy->next;delete dummy;return res;}
};

方法二、分治法合并

时间复杂度 O(kn×logk)。空间复杂度 O(logk) 。

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {
public:ListNode* mergeKLists(vector<ListNode*>& lists) {int n = lists.size();if(n == 0)return nullptr;return merge(lists,0,n-1);}ListNode* merge(vector<ListNode*>& lists,int left,int right){if(left == right)return lists[left];if(left>right)return nullptr;int mid = left + ((right-left)>>1);return mergeTwoList(merge(lists,left,mid),merge(lists,mid+1,right));}ListNode* mergeTwoList(ListNode* L1,ListNode* L2){ListNode* dummy = new ListNode();ListNode* cur = dummy;while(L1&&L2){if(L1->val < L2->val){cur->next = L1;cur = L1;L1 = L1->next;}else{cur->next = L2;cur = L2;L2 = L2->next;}}cur->next = L1 != nullptr ? L1 : L2;ListNode* res = dummy->next;delete dummy;return res;}
};

方法三、使用优先队列

时间复杂度 O(kn×logk)。空间复杂度 O(k) 。

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
class Solution {struct Node{ListNode* node_ptr;int val;bool operator<(const Node& rhs) const{return val>rhs.val;}};
public:ListNode* mergeKLists(vector<ListNode*>& lists) {priority_queue<Node> Heap;for(auto& node:lists){if(node){Heap.push({node,node->val});}}ListNode* head = nullptr;ListNode* cur = nullptr;while(!Heap.empty()){if(head == nullptr){head = Heap.top().node_ptr;cur = head;}else{cur->next = Heap.top().node_ptr;cur = cur->next;}Heap.pop();if(cur->next){Heap.push({cur->next,cur->next->val});}}return head;}
};
http://www.dtcms.com/wzjs/818349.html

相关文章:

  • 做翻译 英文网站wordpress授权登录
  • 优设设计网站导航好的网站收入
  • 门户网站建设定制网站推广经理招聘
  • 坪山医院网站建设对于做网站有什么要求
  • 淘宝网站建设手机版全网营销系统是不是传销
  • wordpress整站数据帮助人做ppt的网站
  • 做网站怎么赚钱吗每一天做网站
  • 图片素材网站排行榜个人代做网站
  • 河北项目建设备案网站开淘宝店和做网站有什么区别
  • 网站备案幕布拍照张店网站建设公司
  • 没有网站可以做京东联盟吗长春网站建设排名
  • preec网站百度关键词排名爬虫
  • 深圳做营销网站的公司哪家好做3d图的网站有哪些软件
  • 百度网站怎么做视频wordpress 模版 摄影
  • 电子商务网站平台有哪些快速制作效果图软件
  • 深圳网站建设yuntianxia百度自然搜索排名优化
  • 30个做设计的网站贵州快速整站优化
  • 武义建设局官方网站内蒙古网络自学网站建设
  • 建设银行公积金网站提示udun大兴安岭网站制作
  • wordpress优化网站想建设网站
  • 知名的中文域名网站上海企业信息登记号查询
  • 重庆免费微网站建设wordpress传输失败
  • 临猗网站建设免费建网站模板
  • 雄安微网站开发免费一键生成短链接
  • Pk10网站建设多少钱做论坛和做网站有什么区别
  • 做游戏交易网站有哪些外贸网站该怎么做
  • 国外jquery网站旅游网站模板
  • 企业网站建设文章东城区网站建设公司
  • 外国人 做的中国字网站wordpress恢复主题
  • 佛山优化企业网站排名平台龙岗网站建设过程