阿里巴巴筆試題求最小三元組距離

2021-06-29 11:17:20 字數 752 閱讀 9599

已知三個公升序整數陣列a[l], b[m]和c[n]。請在三個陣列中各找乙個元素,是的組成的三元組距離最小。三元組的距離定義是:假設a[i]、b[j]和c[k]是乙個三元組,那麼距離為:

distance = max(|a[ i ] – b[ j ]|, |a[ i ] – c[ k ]|, |b[ j ] – c[ k ]|)

請設計乙個求最小三元組距離的最優演算法,並分析時間複雜度。

#includeusing namespace std;

int max(int a,int b,int c )

int min(int a,int b,int c )

int min_distance(int *a,int alen,int*b,int blen,int*c,int clen)

{ int i=0;

int j=0;

int k=0;

int max,min;

int dis;

int min_dis;

max=max(a[0],b[0],c[0]);

min=min(a[0],b[0],c[0]);

min_dis=max-min;

while((i < alen)&&(j < blen)&&(k < clen))

{ max=max(a[i],b[j],c[k]);

min=min(a[i],b[j],c[k]);

dis=max-min;

if(dis

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...

阿里巴巴筆試題

題意 給定一串數字 判斷是否存在這三個元素,它們將數字串分為四個子串,其中每個子串的數字之和均相同 該3個元素不納入計算 要求時間複雜度和空間複雜度均不能超過o n 思路 奇妙的利用了單調性,列舉第一段的和,第一段的和確定了,那麼接下來的2,3,4段的和就都確定了,什麼單調性呢?就是i右移,j,k都...

阿里巴巴筆試題

1 有乙個虛擬儲存系統,若程序在記憶體中佔3頁 開始時記憶體為空 若採用先進先出 fifo 頁面淘汰演算法,當執行如下訪問頁號序列後1,2,3,4,5,1,2,5,1,2,3,4,5,會發生多少缺頁?a 7 b 8 c 9d 10 2 設有乙個順序棧s,元素s1 s2 s3 s4 s5 s6依次進棧...