【leetcode】Merge k Sorted Lists(TLE)
2015-10-09 22:42
316 查看
先贴TLE的代码。每次遍历取出最小值
/** * @author johnsondu * @problem Merge k Sorted Lists * @url https://leetcode.com/problems/merge-k-sorted-lists/ * @timeComlexity O(nm) where n is maximum list length, and m is number of lists. * @spaceComplexity O(n) * @strategy List Insert * @status Time Limited Error * @time 22:41, Oct 9 2015 */ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* mergeKLists(vector<ListNode*>& lists) { ListNode *head = new ListNode(0); ListNode *root = head; while(1) { bool flag = false; for(int i = 0; i < lists.size(); i ++) if(lists[i] != NULL) flag = true; if(!flag) break; flag = false; int cur; int index = 0; for(int i = 0; i < lists.size(); i ++) { if(lists[i]) { if(!flag) { flag = true; cur = lists[i]->val; index = i; } else { if(cur > lists[i]->val) { cur = lists[i]->val; index = i; } } } } ListNode *tmp = new ListNode(cur); head->next = tmp; head = head->next; lists[index] = lists[index]->next; } return root->next; } };
相关文章推荐
- 在C语言中 宏定义是什么?
- hpux DRD克隆软件版本升级说明
- C++primer第五版笔记-第九章顺序容器
- 【NPOI】类库
- 使用XAMPP和Wordpress搭建一个属于你自己的网站
- C++Primer第五版 练习11.20(解答)
- iOS:手势的详解UIGestureReconizer
- iOS 9 适用 修改状态栏
- C++Primer第五版 11.3.2节练习
- PopupWindow 属性,我们的使用的途径
- hpux 根盘镜像
- MQ MI多实例安装配置
- iOS界面编程-UIActionSheet
- 模仿QQ5.0侧滑效果
- Android开发菜鸟级入门1--开发环境尝鲜&简易计算器
- iOS中 UIToolBar 技术分享
- iOS中 UIToolBar 技术分享
- Unity3D开发者快速上手Unreal Engine 4指南
- JavaSE的一些基础内容
- 《十一假期后小结》