Rubyでこれを達成する最良の方法は何ですか? Array1
には数字がほとんど含まれていませんArray2
にはソートされていない数字が含まれています。 Array1
の各要素がどれくらいの頻度で表示されるのかを、Array2
に確認したいと考えています。Array1の要素がArray2に存在する回数を調べる方法
例:
- カウンターたび要素をインクリメント
Array2
- を反復
Array1
- の各要素を選ぶ:
がよりこれを行うには良い最適な方法があります一致Array1 = [0,1,2,3] Array2 = [0,0,0,3,3,3,2,1,0,3,6,1,3] Result = {"0"=>4, "1"=>2, "2"=>1, "3"=>5}
例は数が少ないだけですが、非常に大きな配列セットに対してこれを行う最良の方法を探したいと思います。
それはソートアルゴリズムに類似のように私には思えます。 Mergesortの原則を使用する場合、http://en.wikipedia.org/wiki/Sorting_algorithmは 'nlogn'となることがあります。 – uday
@uDaY:あなたは実際に 'O(n)'でそれを行うことができます。 –