兩個有序序列的中位數

2021-07-27 08:41:06 字數 669 閱讀 7080

5-7 兩個有序序列的中位數 (25分)

已知有兩個等長的非降序序列s1, s2, 設計函式求s1與s2並集的中位數。有序序列a0,a1,⋯,an−1a_0, a_1, \cdots, a_a​0​​,a​1​​,⋯,a​n−1​​的中位數指a(n−1)/2a_a​(n−1)/2​​的值,即第⌊(n+1)/2⌋\lfloor(n+1)/2\rfloor⌊(n+1)/2⌋個數(a0a_0a​0​​為第1個數)。

輸入格式:

輸入分三行。第一行給出序列的公共長度n(0<<

#include void f(int a,int

left,int

right);

int a[200020];

int main()

for (int i=0;i"%d",&m);

a[x++]=m;

} f(a,0,x-1);

printf("%d\n",a[(2*n-1)/2]);

}void f(int a,int

left,int

right)

while (iwhile (i=x)

j--;

a[i]=a[j];

while (ileft,i-1);

f(a,i+1,right);

}

兩個有序序列的中位數

問題 已知有兩個等長的非降序序列s1,s2,設計函式求s1與s2並集的中位數。有序序列a 0 a 1 a n 1 的中位數指a n 1 2 的值,即第 n 1 2 個數 a 0 為第1個數 演算法描述 輸入兩個長度自定且等長的陣列,然後對他們進行賦值。演算法的思路是分別取他們的中位數進行比較,假設兩...

兩個有序序列的中位數

7 1 兩個有序序列的中位數 30 分 已知有兩個非降序序列s1,s2,求s1與s2歸併成乙個序列的低位中位數。有序序列a0,a1,an 1的中位數指a n 1 2的值,即第 n 1 2 個數 a0為第1個數 輸入格式 輸入分4行。第一行給出第乙個序列的長度n1 0輸出格式 在一行中輸出兩個輸入序列...

兩個有序序列的中位數

已知有兩個等長的非降序序列s1,s2,設計函式求s1與s2並集的中位數。有序序列a 0 a 1 a n 1 的中位數指a n 1 2 的值,即第 n 1 2 個數 a 0 為第1個數 輸入分三行。第一行給出序列的公共長度n 0在一行中輸出兩個輸入序列的並集序列的中位數。5 1 3 5 7 9 2 3...