2 つの配列間で同じ数値を見つけるために、プログラムを作成する必要があります。問題は、いくつかの制約を考慮して、最も最適化された方法でそれを行う必要があることです:
- A[i]=B[w] および A[j]=b[x] および i の場合、配列 A の i,j インデックスと配列 B の w,x インデックスを持つ
-これらの数値間の最大距離は k でなければなりません (入力によって与えられます);
-検索を最適化するために何かを実装するには、最大で O(k) スペースを使用する必要があります。
-数字は各配列に 1 回だけ表示されます (セットのように)。
検索プロセスを最適化するために、最初の配列の k 個の要素を持つバランスの取れた RBTree を構築することを考えていましたが、必要なスペースについて疑問があります (ポインターとカラーマーキングのため、O(k) ではないと思います) )。
誰でもこの問題についてより良い考えを持っていますか?
編集:より明確にするために、ここに例を示します。
- 配列 A: 3 7 5 9 10 15 16 1 6 2
- アレイ B: 4 8 5 13 1 17 2 11
- 定数 k = 6
- 出力: 5 1 2
Edit2: 出力では、数値は配列内と同じ順序で表示される必要があります。