2010-12-10 14 views
4

2つのソートされた配列AとBがあると、| A [i] -B [j] |最小です。2つの配列の最小の差を求める

+0

あなたが質問として知りたいと思っているフレーズをお願いします。 –

+3

宿題に2つの質問がある場合は、少なくとも自分で試してみる必要があります。 –

+0

彼は、2つの異なる配列内の任意の2つのアイテム間の最小距離を見つける最も効率的な方法を知りたいと考えています。 – sethvargo

答えて

8

配列はソートされているので、2つのポインタ(各配列に1つ)を渡すことができます。 |A[i+1] - B[j]| < |A[i] - B[j+1]|の場合は、iをインクリメントし、それ以外の場合はjをインクリメントします。いずれかの配列の終わりに達するまで続行します。最小限のインデックスを追跡してください。

+0

このコードの最悪の実行時間の複雑さは何ですか?それはn^2でなければなりませんか? – Yashasvi

+0

O(nlogm): Aの各要素について、Binary Searchメソッドを使用して、配列Bに最も近い値を持つ要素を見つけます。 – Yashasvi

+0

このような答えを自分自身で見つけ出すにはどうすればよいですか?あなたがそれを解決するために使った方法は何でしたか? –

関連する問題