我经常需要按值排序字典,包括键和值.例如,我有一个单词的散列和各自的频率,我想按频率排序.
有一个SortedList对单个值(比如频率)有好处,我想将它映射回单词.
SortedDictionary按键排序,而不是值.有些人诉诸于自定义课程,但是有更清洁的方法吗?
鉴于我们收集了不同类型的视频(例如A,B和C,...),我们正在寻找一种有效的算法来将这些对象排序到播放列表中,以使分散度最大化。也就是说,我们希望确保避免将A的两个视频背对背放置。播放列表将重复播放(播放结束时将重新开始。因此也应考虑此方面)。
什么是可以很好地执行上述操作的高效算法?
输入示例:
输出-非最佳
A1,B1,A2,B2,A3,B3,A4,A5
这不是最佳选择,因为在A4之后播放A5,然后播放列表循环返回,而A1播放。现在,我们已经播放了3种类型A的视频。
最佳输出
A1,B1,A2,A3,B2,A4,B4,A5
这是最佳选择,因为我们只能连续播放2个相同类型的视频。
请注意,该算法应适用于不同数量的类型和视频。