Leetcode||4.Median of Two Sorted Arrays
来源:互联网 发布:apowersoft mac 破解 编辑:程序博客网 时间:2024/06/04 19:05
4. Median of Two Sorted Arrays
- Total Accepted: 122172
- Total Submissions: 604583
- Difficulty: Hard
- Contributors: Admin
There are two sorted arrays nums1 and nums2 of size m and n respectively.
Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).
Example 1:
nums1 = [1, 3]nums2 = [2]The median is 2.0
Example 2:
nums1 = [1, 2]nums2 = [3, 4]The median is (2 + 3)/2 = 2.5题意很明确,找中间数,如果为奇数就是中间的那个数,为偶数就是中间两个数的平均数,如果没有要求时间复杂度,最直接的做法是两个数组合并再次排序,但是本题是要求时间复杂度为O(log(m+n))的,网上的做法普遍分两种归并和二分,下面的代码用的归并。
代码如下:
public class Solution { public double findMedianSortedArrays(int[] nums1, int[] nums2) { int len1 = nums1.length; int len2 = nums2.length; int total = len1 + len2; if(total % 2==0){ return (findKth(nums1,nums2,total/2)+findKth(nums1,nums2,total/2+1))/2.0; } else { return findKth(nums1,nums2,total/2+1); } } private int findKth(int[] nums1, int[] nums2, int k){ int p = 0, q = 0; for(int i = 0; i < k - 1; i++){ if(p>=nums1.length && q<nums2.length){ q++; } else if(q>=nums2.length && p<nums1.length){ p++; } else if(nums1[p]>nums2[q]){ q++; } else { p++; } } if(p>=nums1.length) { return nums2[q]; } else if(q>=nums2.length) { return nums1[p]; } else { return Math.min(nums1[p],nums2[q]); } }}
0 0
- [LeetCode]4.Median of Two Sorted Arrays
- LeetCode 4. Median of Two Sorted Arrays
- LeetCode --- 4. Median of Two Sorted Arrays
- [Leetcode] 4. Median of Two Sorted Arrays
- [LeetCode]4.Median of Two Sorted Arrays
- 【leetcode】4. Median of Two Sorted Arrays
- Leetcode-4.Median of Two Sorted Arrays
- LeetCode-4.Median of Two Sorted Arrays
- Leetcode 4. Median of Two Sorted Arrays
- leetcode 4. Median of Two Sorted Arrays
- LeetCode 4. Median of Two Sorted Arrays
- Leetcode 4. Median of Two Sorted Arrays
- Leetcode 4. Median of Two Sorted Arrays
- [leetcode]4. Median of Two Sorted Arrays
- LeetCode-4.Median of Two Sorted Arrays
- [LeetCode]4. Median of Two Sorted Arrays
- leetCode 4. Median of Two Sorted Arrays
- Leetcode 4. Median of Two Sorted Arrays
- 第七周项目五排队看病模拟
- 数组反汇编推导
- C++基础之--用VS编写第一个C++程序
- Session
- 虚拟机中使用centos不能连接外网解决办法
- Leetcode||4.Median of Two Sorted Arrays
- java中short、int、long、float、double取值范围
- 第八周项目2——建立链串的算法库
- 面试被问到android调用jni的使用
- 菜单命令更新机制
- 【SSH 框架项目的搭建--简化版】使用注解代替xml中的<bean>,减少代码量
- MyBatis学习总结(四)——解决字段名与实体类属性名不相同的冲突
- 腾讯七大事业群
- implicit declaration of function ‘malloc’的解决方法