求兩個有序陣列的中值

2021-06-22 13:39:45 字數 625 閱讀 4752

設陣列a的長度為m, 陣列b的長度為n, 兩個陣列都都是遞增有序的。

求這兩個陣列的中值

**如下:

#include int find_median(int a, int b, int m, int n, int s, int t)

//b為空

if (0 == n)

//a[p]太小了,從陣列a中找乙個更大的數嘗試

if (c - p - 1 > n - 1 || (c - p - 1 >= 0 && a[p] < b[c - p - 1]))

//a[p]太大了,從陣列a中找乙個更小的數嘗試

if (c - p < 0 || (c - p < n && a[p] > b[c - p]))

return a[p];

}int main()

scanf("%d", &n); //陣列b的大小

for (i = 0; i < n; ++i)

median = find_median(a, b, m, n, 0, m - 1);

printf("%d\n", median);

} return 0;

}

求兩個有序陣列的中位數

要求 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。請你找出這兩個有序陣列的中位數,並且要求演算法的時間複雜度為 o log m n 例如 nums1 1,3 nums2 2 則中位數是 2.0 nums1 1,2 nums2 3,4 則中位數是 2 3 2 2.5 演算法解析...

求兩個有序陣列的中位數

原部落格 設陣列a的長度為m,陣列b的長度為n,兩個陣列都都是遞增有序的。求這兩個陣列的中位數 首先我們看看中位數的特點,乙個大小為n的陣列,如果n是奇數,則中位數只有乙個,陣列中恰好有 n 1 2 個元素比中位數小。如果n是偶數,則中位數有兩個 下中位數和上中位數 這裡我們只求下中位數,對於下中位...

歸併兩個有序陣列

題目 有兩個有序的陣列a1和a2,內存在a1的末尾有足夠多的空餘空間容納a2。請實現乙個函式,把a2中的所有數字插入到a1中並且所有的數字是排序的。解法 從後向前依次比較處理,減少移動次數,提高效率。void sorta1a2 int a1,int length1,int sizeofa1,int ...