已知有兩個等長的非降序序列s1, s2, 設計函式求s1與s2並集的中位數。有序序列a
0 ,a
1 ,⋯,a
n−1
的中位數指a
(n−1)/2
的值,即第⌊(n+1)/2⌋個數(a
0 為第1個數)。
輸入格式:
輸入分三行。第一行給出序列的公共長度n(0輸出格式:
在一行中輸出兩個輸入序列的並集序列的中位數。
輸入樣例1:
51 3 5 7 9
2 3 4 5 6
輸出樣例1:
4輸入樣例2:
6-100 -10 1 1 1 1
-50 0 2 3 4 5
輸出樣例2:
1運用快速排序,將陣列中的元素從小到大排列,然後找到題目要求的那個數即可。
**如下:
#include
#include
int a[
1000005];
//這裡要多開乙個數量級,題目給的數大
void
quick_sort
(int l,
int r)
a[i]
=x;quick_sort
(l,i-1)
;//遞迴呼叫
quick_sort
(i+1
,r);}}
intmain()
quick_sort(1
,n*2);
printf
("%d"
,(a[n]))
;}
7 53 兩個有序序列的中位數 25分
已知有兩個等長的非降序序列s1,s2,設計函式求s1與s2並集的中位數。有序序列a0,a1,a n 1的中位數指a n 1 2的值,即第 n 1 2 個數 a0為第1個數 輸入分三行。第一行給出序列的公共長度n 0在一行中輸出兩個輸入序列的並集序列的中位數。5 1 3 5 7 9 2 3 4 5 6...
兩個有序序列的中位數
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 rflo...
兩個有序序列的中位數
問題 已知有兩個等長的非降序序列s1,s2,設計函式求s1與s2並集的中位數。有序序列a 0 a 1 a n 1 的中位數指a n 1 2 的值,即第 n 1 2 個數 a 0 為第1個數 演算法描述 輸入兩個長度自定且等長的陣列,然後對他們進行賦值。演算法的思路是分別取他們的中位數進行比較,假設兩...