私が持っている地図ベクトルの問題に対して効率的なアルゴリズムを考え出すのに苦労しています。
map<int , vector <int> > があり、マップのすべてのベクトルで整数が何回発生するかを調べたいとします。それが定義済みの量を超えて発生した場合は、残りのベクトルからその値を削除します(うまくいけばそれは理にかなっています)、ここに簡単な例があります:
キー値
1 - <2,3,4,4,5>
2 - <2,3,3,4,5>
3- <2,3,3,4,6>
この場合、3 回以上発生した場合、すべてのベクトルから 4 を削除したいとします。結果のマップは次のようになります。
1 - <2,3,4,4,5>
2 - <2,3,3,4,5>
3- <2,3,3,DEL,6>
この問題の効率的なアルゴリズムを探していますが、誰かアイデアがあるかどうか疑問に思っていました. (私は C++ で作業していますが、Java または疑似コードが優れていることは知っています)。
助けてくれてありがとう
補足 この例では、ベクトルは実際にはソートされていないことに注意してください。