如何对数组元素排序以获得符合特定规则的类正态分布排列结果?
类正态分布数组排序需求
示例代码
示例: elements := []struct { Name string Count int }{ {Name: "A", Count: 1}, {Name: "B", Count: 2}, {Name: "C", Count: 4}, {Name: "D", Count: 4}, }
排序规则
- 元素数量越少,越靠近排列结果的中间位置
- 元素数量越多,越靠近排列结果的边缘位置
- 尽可能避免相同元素相邻
- 相同元素之间的间距尽可能均等
- 若存在无法满足上述条件的剩余元素,直接追加至数组末尾
内容的提问来源于stack exchange,提问作者Andrew Cui
相关产品推荐
相关产品推荐

