已知有兩個等長的非降序序列s1, s2, 設計函式求s1與s2並集的中位數。有序序列a0,a1,⋯,an−1的中位數指a(n−1)/2的值,即第⌊(n+1)/2⌋個數(a0為第1個數)。
輸入分三行。第一行給出序列的公共長度n(0在一行中輸出兩個輸入序列的並集序列的中位數。
5
1 3 5 7 9
2 3 4 5 6
4
6
-100 -10 1 1 1 1
-50 0 2 3 4 5
1
#includeusing namespace std;
int a[200005];
int main()
while(ai+bi-n<(2*n-1)/2)
cout<<(a[ai]>a[bi]?a[bi]:a[ai]);
return 0;
}
#includeusing namespace std;
int a[100005],b[100005];
int main()for(int i=0;i>b[i];
}int ai=0,bi=0;
while(ai+bi<(2*n-1)/2)
cout<<(a[ai]>b[bi]?b[bi]:a[ai]);
return 0;
}
兩個有序序列的中位數 (25 分)
已知有兩個等長的非降序序列s1,s2,設計函式求s1與s2並集的中位數。有序序列a 0 a 1 a n 1 的中位數指a n 1 2 的值,即第 n 1 2 個數 a 0 為第1個數 輸入格式 輸入分三行。第一行給出序列的公共長度n 0在一行中輸出兩個輸入序列的並集序列的中位數。51 3 5 7 9...
兩個有序序列的中位數
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個數 演算法描述 輸入兩個長度自定且等長的陣列,然後對他們進行賦值。演算法的思路是分別取他們的中位數進行比較,假設兩...