p125 9 3 8找兩個陣列元素的中位數

2021-07-09 23:50:19 字數 696 閱讀 8361

我一開始是想:

先在a陣列中選擇乙個數x,再在b陣列中找到兩個相鄰的數,讓x夾在它們中間,由此確定x的位置,進而判斷是否是中位數,但是找到相鄰的數複雜度是o(n)的,無奈,只好作罷-_-

後來發現有人是反過來做的,直接根據b中的座標判斷x是大於還是小於中位數,有的時候,真的需要換個角度!!

分治演算法,需要注意的是遞迴的終止條件是l>=r而不是l==r,導致stack overflow的原因很多很多^-^,

/** source.c

* * created on: feb 17, 2016

* author: wing

*/#include#includeint select(int *a,int *b,int n,int l,int r,int *result)

else

if (l>=r)

return 0;

else

if (a[m]b[n-m-1])

return select(a,b,n,l,m-1,result);

}int main(void)

{ int *a,*b,n,i,*result;

scanf("%d",&n);

a=(int *)malloc(sizeof(int)*n);

b=(int *)malloc(sizeof(int)*n);

for (i=0;i

兩個陣列找相同元素 Excel 陣列公式全面解析

重要 今晚19 30的直播大家不要忘記哦 excel 陣列公式是什麼?怎麼用?終於有人說清楚了。1.陣列的建立 在excel中,我們使用花括號來建立乙個陣列,建立的步驟如下 選擇與陣列大小相同的區域 在公式編輯欄使用花括號建立陣列 使用陣列公式執行方式執行公式 ctrl shift enter 下面...

查詢兩個陣列相同元素

攢rp ing 一場面試的一道演算法題,題目如下 有兩個公升序的陣列,在這兩個陣列裡面有且只有乙個相同的元素,考慮時間和空間複雜度,找到該元素,禁用js中所有方法,單純演算法題 emmmmm,為何和我之前的不一樣 話不多說,上 我真是越來越喜歡動手敲一下了 function foo arr 1,ar...

交換兩個陣列的元素,使兩個陣列和的差最小

前些時候面試碰到的題目 有兩個有序正整數陣列array1 n array2 m 通過交換兩陣列的元素,使兩個陣列的和最接近。基本演算法思路 每次從array1 array2選擇出一對能使交換後得array1和與array2和的差值變小的組合array1 i array2 j 作交換 直到對任意組合a...