【发布时间】:2018-05-16 09:10:32
【问题描述】:
考虑 map mymap 有条目
<'a', 111>
<'b', 567>
<'c', 956>
<'d', 222>
<'e', 111>
<'f', 222>
<'h', 222>
<'i', 492>
等等……
如何删除地图中重复值的条目。
例如键 'a' 和 'e' 存在值 111。所以保留“a”的地图条目并删除“e”的条目
对于值 222,保留条目“d”并删除条目“f”和“h”。
我正在寻找具有最佳空间和时间复杂度的解决方案
【问题讨论】:
-
我投票决定将此问题作为离题结束,因为 SO 不是代码编写服务。请展示你的努力
-
构造一组值,如果该值已经在集合中,则从地图中删除该条目。 ~10-12 行代码。
-
"所以保留 'a' 的映射条目并删除 'e' 的条目" -- 为什么?为什么不保留“e”的地图条目并删除“a”的地图条目?您想要的规则也需要成为您问题的一部分。
-
@hvd 我想他想保留最低键的条目,但你是对的,这应该在问题中指定
-
@MichaelWalz "Lowest" 也未指定,因此需要在问题中解释 :) 在 ASCII 中,因此在大多数 C++ 实现中,
'B' < 'a',但这对于OP。
标签: c++ dictionary stl