lintcode 兩個排序陣列的中位數

2021-08-20 13:08:37 字數 776 閱讀 6323

描述

兩個排序的陣列a和b分別含有m和n個數,找到兩個排序陣列的中位數,要求時間複雜度應為o(log (m+n))。

樣例

給出陣列a = [1,2,3,4,5,6] b = [2,3,4,5],中位數3.5

給出陣列a = [1,2,3] b = [4,5],中位數 3

public class solution 

else

}if(b.length==0)

else

}int index;

if((a.length+b.length)%2==0) index=(a.length+b.length)/2-1;

else index=(a.length+b.length)/2;

if(b[b.length-1]<=a[0])

if(a[a.length-1]<=b[0])

else return (double) b[index];}}

int ia=0, ja=a.length-1;

int ib=0, jb=b.length-1;

int ma = -1, mb = -1;

while(ia<=ja || ib<=jb)

else

}if((a.length+b.length)%2==0)

}return (double)math.max(a[ma], b[mb]);

}}

lintcode兩個排序陣列的中位數

兩個排序陣列的中位數 兩個排序的陣列 a和b分別含有m和n個數,找到兩個排序陣列的中位數,要求時間複雜度應為o log m n 您在真實的面試中是否遇到過這個題?yes 樣例給出陣列a 1,2,3,4,5,6 b 2,3,4,5 中位數3.5 給出陣列a 1,2,3 b 4,5 中位數 3 挑戰 標...

lintcode 2 兩個排序陣列的中位數

中文english 兩個排序的陣列a和b分別含有m和n個數,找到兩個排序陣列的中位數,要求時間複雜度應為o log m n 樣例1 輸入 a 1,2,3,4,5,6 b 2,3,4,5 輸出 3.5樣例2 輸入 a 1,2,3 b 4,5 輸出 3時間複雜度為o log n 演算法1 最簡單的辦法就...

LintCode 合併兩個排序好的陣列

題目 合併兩個排序好的陣列,要求新陣列也是有序的 分析 假設兩個陣列為a和b,新陣列為c。a和b的元素比較,小的放在c中,並且指標 1。臨界條件很重要 假設a的指標越界 退出迴圈的條件 那麼b的指標肯定沒有越界 為什麼?看 並且b未比較的元素一定比a所有元素大 a指標都越界了,說明a最後乙個元素進入...