
归并
Jerry-Rulai
这个作者很懒,什么都没留下…
展开
-
88. 合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,...原创 2019-01-20 19:12:02 · 88 阅读 · 0 评论 -
23.合并k个排序链表
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 /** * Definitio原创 2019-01-16 17:41:17 · 106 阅读 · 0 评论 -
21.合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 class Solution { public: ListNode* mergeTwoLists(ListNode* l1,原创 2019-01-16 15:37:55 · 231 阅读 · 3 评论 -
4. 寻找两个有序数组的中位数
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例 2: nums1 = [1, 2] nums2 = [3, 4] 则中位数是 (2 + 3)...原创 2019-01-15 10:21:53 · 109 阅读 · 0 评论 -
逆序对问题(归并排序)--c++实现
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述: 题目保证输入的数组中没有的相同的数字 数据范围: 对于%50的数据,size<=10^4 对于%75的数据,size<=10^5 对于%100的数据,size&l...原创 2019-03-22 16:41:56 · 928 阅读 · 0 评论 -
归并排序
归并排序: 1.划分 2.分治 3.合并 void Merge(int* data, int start, int mid, int end) { int* left_data = new int[mid - start + 1]; int* right_data = new int[end - mid]; int left_length = mid - start + 1; int ri...原创 2019-03-26 11:41:00 · 123 阅读 · 0 评论