配列の要素の範囲に関する情報を持たない2つの整数配列があります。私が知っているのは、2つの配列mとnの長さです。今度は両方の配列にいくつかの重複があります。私は両方の配列から最低の共通複製を探したい。私はメモリが限られていると仮定し、これをどのように解決するのですか?配列内の共通の重複を見つける
答えて
MergeSortアルゴリズムがこの問題を解決するのに役立つ場合があります。 MergeSortアルゴリズムは、基本的にリスト内の要素をソートするためのものですが、その主要な要点は、Divide and Conquer Approachです。あなたは記憶が限られていると述べているので、Divide and Conquerは問題を解決するための合理的なアプローチのようです。
1つの可能な方法(これはおそらくメモリとパフォーマンスの両方を行うより効率的な方法です)。
- 第1および第2の配列に対して2つの
map
インスタンスAおよびBを作成します。key
は整数であり、value
はそれぞれの配列の整数です。 - 値がAとBの両方に2未満
- の両方Aのキーセットを取るある
(key,value)
ペアを削除 - 従って両方の配列内の各整数の出現回数をカウントし、マップAに格納し、B Bと交差点を見つける。
私はステップを理解しましたが、静的ハッシュテーブルがあれば、キーと値のペアをどのように削除しますか?ハッシュテーブルから削除するときに発生するパフォーマンス上の問題はどれくらいのものがあるのでしょうか?または、この問題が動的ハッシュテーブルに依存することを意味しますか? – user754740
削除ステップの代わりに、実際にはハッシュテーブルをたどってキーを値2以上のセットに集めてハッシュテーブル全体を破棄することができます。 – Timo
- 1. Python:複数のディクテーション配列の共通点を見つける
- 2. 配列で重複を見つける
- 3. 配列内の最も重複したオブジェクトを見つける
- 4. プロパティ配列で共通の値を見つける方法
- 5. 2つの配列で重複する値を見つける
- 6. 配列の重複文字列を見つける
- 7. 配列内の重複する値のインデックスを見つける方法
- 8. オブジェクトの配列で重複するものを見つけ、
- 9. 配列リストの重複する要素を見つける
- 10. テーブル内の2つの列で重複を見つけよう
- 11. JS重複値が3つ以上ある場合、配列内に重複値のインデックスを見つける
- 12. 整数の配列/リストで重複を見つける
- 13. mongodbは文書間で配列の重複を見つける
- 14. オブジェクトの配列で重複を見つける
- 15. Angular2/Ionic - 配列内の重複アイテムを見つけて整理する
- 16. データフレーム内の複数のカテゴリから共通の要素を見つけるか?
- 17. R:列内に重複するセルを見つけること
- 18. javascriptが配列エラーで重複を見つける
- 19. 配列の配列内のすべての重複したサブセットを見つけて抽出する方法は?
- 20. 配列内のevensを見つける
- 21. 配列内のモードを見つける
- 22. 配列内の値を見つける
- 23. 配列内のパターンを見つける
- 24. ツリー内の共通のサブツリーを見つける
- 25. NSMutable配列内の複数の値を見つける
- 26. Matlab:配列内の複数の要素を見つける
- 27. 異なる間隔内の共通点を見つける
- 28. 複数のデータフレーム列間で共通の要素を見つける
- 29. リスト内の共通要素を見つける方法
- 30. 配列内の複製を見つける方法 - Java
マージソート、マージ手順にソートするために余分なスペースを必要と答えている交差点で最も低いキーを、見つけます。したがって、この問題では、元の配列をソートするために2つの中間配列が必要になります。しかし、ソート後も、どのようにして両方の配列から共通の複製を識別できますか?それ以上のバッファを消費することなく処理できますか? – user754740
あなたが言ったことはソートの文脈で真ですが、言及したように、重複を探していて、配列1の特定の要素が配列2に存在するかどうかをチェックするだけです。したがって、もっとバッファを必要としないと思います。 –
配列が最初にソートされていないことを明確にしたいと思います。配列をソートするとarray1の要素をチェックしてarray2にあると言っていますか? – user754740