在一个问题中,输入是几个数字列表,
实施例 -
(1,5,4,3), (2,7,3,1,5), (1,9,1,7,3,7,2), (3,5,4,2,3).
每个列表可能出现两次。
在最终输出中,应打印不同的列表,其中每个列表中的元素应按非递增顺序排序,并且列表应按此类别排序。
是否可以使用c ++中的map实现这一整体?
以上示例的输出应为
9,7,7,3,2,1,1
7,5,3,2,1
5,4,3,3,2
5,4,3,1
简单地说,一组唯一列表,其中每个列表中的数字再次以非递增顺序排序。
答案 0 :(得分:3)
std::set
一定能帮到你。如果将列表插入std::set<int>
修改强>
std::set<std::multiset<int, std::greater<int>> myList;
内部集合将以非递增顺序排序并保留重复元素,而外部集合将仅保留内部列表的唯一列表。