我无法为我遇到的地图矢量问题想出一个有效的算法。
假设我有一个 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 或伪代码很酷)。
谢谢你的帮助
旁注仅在此示例中,向量在现实生活中并未排序。