2019-05-11等长度的升序序列A|2019-05-11等长度的升序序列A,B 找出两个序列A和B的中位数
参考:https://www.tomorrow.wiki/archives/1157
文章图片
image.png 中位数的概念:
【2019-05-11等长度的升序序列A|2019-05-11等长度的升序序列A,B 找出两个序列A和B的中位数】对于数集 就是数集排序后中间位置的那个数,集合有偶数个数 中位数就是将 中间两个数的平均数
此题还需要注意的是 :两个序列的长度是一样的,若两个序列长度是不一样的(需要思考)
文章图片
image.png 解题的关键:
1、找出两个序列的中位数 比较 舍去比小的小的部分,比大的大的部分(舍去的长度是相同的)
2、如何判断 减去的长度是 :需要舍弃的两个数的更小的值
文章图片
image.png
文章图片
image.png
int m_search(int A[], int B[], int n )
{
/*分别表示序列 A B 的首位数 末尾数 中位数*/
int s1=0, d1=n-1, m1;
int s2=0, d2=n-1, m2;
while(s1!=d1 || s2!=d2)
{
m1 = (s1+d1)/2;
m2 = (s2+d2)/2;
if(A[m1]==B[m2])/*满足条件 1*/
return A[m1];
if(A[m1]
推荐阅读
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 我执意要等,是因为我相信你一定会来
- 4月23日海军节,我在青岛等你,一起看强大的中国海军。(如图如视频)
- 自律第1天
- 《遥遥无期的等待》
- 二叉树路径节点关键值和等于目标值(LeetCode--112&LeetCode--113)
- 冬日漫长,等待春风
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- 高度自律等于成功的第一步
- 【译】Rails|【译】Rails 5.0正式发布(Action Cable,API模式等)