Leetcode每日一题:23.merge-k-sorted-lists(合并K个排序链表)
这一题我的解也不好意思说出口,把所有值装入变长数组,排序,再转换成链表
复杂度应该在O(nlogn)
开销处于中流水平
评论中的 分治法(二分递归) 最小堆(C++优先队列实现) 着实没想到
struct ListNode
{int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};
ListNode *mergeKLists(vector<ListNode *> &lists)
{ListNode *head=NULL;vector<int> nums;for (auto l : lists) //把所有链表的值都放入nums 统一排序再转换成链表;{while (l != NULL){nums.push_back(l->val);l = l->next;}}sort(nums.begin(), nums.end());if(nums.size()==0) return head;ListNode *p = new ListNode(nums[0]);head = p;int len = nums.size();for (int i = 1; i < len; i++){ListNode *temp=new ListNode(nums[i]);p->next=temp;p=temp;}p->next=NULL;return head;
}
刚刚用了一下优先队列,感觉跟我的题解效率差不多
class Solution {public:ListNode* mergeKLists(vector<ListNode*>& lists) {ListNode *head=NULL;priority_queue <int,vector<int>,greater<int>> q;for(auto l:lists){while(l!=NULL){q.push(l->val);l=l->next;}}if(q.size()==0) return head;ListNode *p=new ListNode(q.top());q.pop();head=p;while(!q.empty()){ListNode *temp=new ListNode(q.top());q.pop();p->next=temp;p=temp;}p->next=NULL;return head;}
};
Leetcode每日一题:23.merge-k-sorted-lists(合并K个排序链表)相关推荐
- LeetCode in Python-21. Merge Two Sorted Lists 合并两个有序链表
Merge Two Sorted Lists 合并两个有序链表 题目 解法1. 解法2. 出处 题目 解法1. # Definition for singly-linked list. # class ...
- 合并k个有序链表 python_[LeetCode] 23. Merge k Sorted Lists 合并k个有序链表
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...
- [LeetCode] Merge k Sorted Lists 合并k个有序链表
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. E ...
- leetcode python3 简单题21. Merge Two Sorted Lists(Linked)
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第二十一题 (1)题目 英文: Merge two sorted linked li ...
- 【LeetCode】Merge Two Sorted Lists(合并两个有序链表)
这道题是LeetCode里的第21道题. 题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1-&g ...
- Leetcode每日一题:402.remove-k-digits(移掉k位数字)
思路:我们只需从左向右扫描k次,每一次都扫描到递增序列的峰值,再把它删除,最后留下的便是最小值: string removeKdigits(string num, int k) {int len = ...
- LeetCode 之 JavaScript 解答第23题 —— 合并K个有序链表(Merge K Sorted Lists)
Time:2019/4/10 Title: Merge K Sorted Lists Difficulty: Difficulty Author: 小鹿 题目:Merge K Sorted Lists ...
- merge k sorted lists java_LeetCode 第23题 Merge k Sorted Lists【分而治之】【最小堆】(Java)...
这道题的题目是合并k个有序的链表,标定难度为Hard,详细需求: 合并k个有序的链表,返回一个新的有序链表. 例子: Input: 1->4->5, 1->3->4, 2-&g ...
- LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)
LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...
最新文章
- web頁面優化以及SEO
- 一周一论文(翻译)—— [PVLDB 12] Distributed GraphLab A Framework for Machine Learning 分布式机器学习图计算框架
- sigmoid函数(Logistic函数)
- vue 获取当前发布的版本_Vue 3.0重磅发布!
- php如何防止超发,PHP+redis实现的限制抢购防止商品超发功能详解
- java integer null 0_Mybatis Integer类型参数值为0时得到为空的解决方法
- jooq sql_用jOOQ用Java编写SQL
- android智能老人机系统,国产老人机也可以变智能!可运行Android
- 微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码
- Python之路(二)Python基础
- 使用py2neo构建neo4j图模型小demo
- JVM调优浅谈(转)
- 设计一个具有大纯时延时间的一阶惯性环节的计算机控制系统,具有纯滞后一阶惯性系统计算机控制系统设计.pdf...
- JeePlus:代码生成器
- 计算机如何建立小型服务器,如何将个人PC搭建成小型服务器
- php计算距离商家距离,php 计算3公里内所以用户的距离
- 中职学校计算机课听课记录表,中职听课记录
- React将字符串转化成组件,将Antd图标字符串转化为图标组件
- libssl-dev : 依赖: libssl1.0.0 (= 1.0.2g-1ubuntu4.13) 但是 1.0.2n-1ubuntu5.1 正要被安装
- cmd命令行进行C++代码编译运行;实现进程调度和存储管理
热门文章
- Git使用教程之从远程库克隆项目(四)
- 【bzoj5133】[CodePlus2017年12月]白金元首与独舞 并查集+矩阵树定理
- 你不知道的JavaScript--大白话讲解Promise
- ORACLE多表查询优化
- JZOJ 3427. 归途与征程
- Python 命令行非阻塞输入
- 个人站立会议第二阶段04
- class DELPHICLASS TObject
- ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法
- 解决Ubuntu Chrome浏览器很卡不响应的问题