天天看點

網際網路公司面試題之五

問題:存在兩組數組,和4個數字a,b,c,d,要求做如下操作,将第一個數組第a個數到第b個數,第二個數組的第c個數到第d數放到一個數組中,求出合并後數組的中間值,如果有兩個中間值,取下标較小的那個。

輸入要求:第一行一個整數t表示有t個測試資料,第二行兩個整數,表示兩個數組的長度,接下來兩行表示兩個數字的值。最後一行有四個整數a,b,c,d。數組的長度不會超過1000。

輸出要求:每行一個整數,對應合并數組的下标在中間的那個值。

性能要求:在時間複雜度O(n)内完成這個計算任務。

答:實作代碼如下:

運作結果:

[img]http://dl.iteye.com/upload/attachment/605122/55a4cc25-2cea-393a-9abe-46fa863f1985.jpg[/img]