[LeetCode]Median of Two Sorted Arrays

题意:给2个数组,求他们的中位数(中间那个数)。

原题来自:https://leetcode.com/problems/median-of-two-sorted-arrays/

分析:

我自己的思路,2数组合并成一个数组,然后sort,最后求中间那数(如果数组长度为偶数,就中间2数的平均数)。

 1 class Solution {
 2 public:
 3     double findMedianSortedArrays(int A[], int m, int B[], int n) {
 4         
 5         int *a = new int[m+n];
 6         memcpy(a,A,sizeof(int)*m);
 7         memcpy(a+m,B,sizeof(int)*n);
 8         
 9         sort(a,a+m+n);
10         
11         double mid = (double)((m+n)%2?a[(n+m)>>1]:(a[(n+m-1)>>1]+a[(n+m)>>1])/2.0);       // 除以2,就是向右移动一位
12         delete a;
13         return mid;
14     }
15 };

 

你可能感兴趣的:(LeetCode)