Median of Two Sorted Arrays 两个数组的中位数
来源:互联网 发布:游戏宣传片 知乎 编辑:程序博客网 时间:2024/06/05 17:26
class Solution {
public:
double find_kth(int A[],int m,int B[],int n, int k)
{
if(m>n) return find_kth(B,n,A,m,k);
if(m==0) return B[k-1];
if(k==1) return min(A[0],B[0]);
int pa=min(m,k/2);
int pb=k-pa;
if(A[pa-1]<B[pb-1])
return find_kth(A+pa,m-pa,B,n,k-pa);
else if (A[pa-1]>B[pb-1])
return find_kth(A,m,B+pb,n-pb,k-pb);
else
return A[pa-1];
}
double findMedianSortedArrays(int A[], int m, int B[], int n)
{
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
int total=m+n;
if(total%2==1)
return find_kth(A,m,B,n,total/2+1);
else
return (find_kth(A,m,B,n,total/2)+find_kth(A,m,B,n,total/2+1))/2;
}
};
public:
double find_kth(int A[],int m,int B[],int n, int k)
{
if(m>n) return find_kth(B,n,A,m,k);
if(m==0) return B[k-1];
if(k==1) return min(A[0],B[0]);
int pa=min(m,k/2);
int pb=k-pa;
if(A[pa-1]<B[pb-1])
return find_kth(A+pa,m-pa,B,n,k-pa);
else if (A[pa-1]>B[pb-1])
return find_kth(A,m,B+pb,n-pb,k-pb);
else
return A[pa-1];
}
double findMedianSortedArrays(int A[], int m, int B[], int n)
{
// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
int total=m+n;
if(total%2==1)
return find_kth(A,m,B,n,total/2+1);
else
return (find_kth(A,m,B,n,total/2)+find_kth(A,m,B,n,total/2+1))/2;
}
};
0 0
- 两个有序数组的中位数 Median of Two Sorted Arrays
- Median of Two Sorted Arrays 两个数组的中位数
- 【数组】两个排序数组的中位数Median of Two Sorted Arrays
- LeetCode-Median of Two Sorted Arrays,找出两个排好序的数组的中位数
- Find the median of two sorted arrays(找到两个排好序的数组的中位数)
- Median of Two Sorted Arrays(找两个排序数组的中位数,二分法)
- 寻找两个不等长数组的中位数 Median of Two Sorted Arrays
- 寻找两个数组的中位数 Median of Two Sorted Arrays ***问题转化思想***
- Median of Two Sorted Arrays 两个有序数组的中位数@LeetCode
- Median of Two Sorted Arrays 两个有序数组的中位数@LeetCode
- Median of Two Sorted Arrays - 寻找两个有序数组的中位数(重)
- LeetCode | Median of Two Sorted Arrays(两个数组的中位数)
- leetcode Median of Two Sorted Arrays java 两个排序数组的中位数
- LeetCode OJ 之 Median of Two Sorted Arrays(两个有序数组的中位数)
- [leetcode] Median of Two Sorted Arrays 寻找两个有序数组的中位数
- Median of Two Sorted Arrays 求出两个已排序数组的中位数
- 4. Median of Two Sorted Arrays 两个有序数组的中位数
- LeetCode 4. Median of Two Sorted Arrays(两个有序数组的中位数)
- LeetCode OJ:Word Ladder II 解题思路过程详谈
- QT5.1.1中MinGW4.8的环境变量配置
- select/check/radio web操作
- Hadoop文件系统的接口(二)
- gdb调试之--read by other session 等待事件的重现
- Median of Two Sorted Arrays 两个数组的中位数
- Kernel Thread 的创建
- Qt中事件处理的方法
- 按鼠标右键,不再显示“通过QQ发送到我的手机”
- c语言socket简单聊天室基于linux环境
- 初识STL中的map
- DLL编写教程
- 守护线程总结
- 绑定变量窥探和直方图