我必须找出一种算法,它允许对包含字符串的数组进行排序。此数组中的字符串可以相同。
Eq ['苹果', '橙子', '苹果', '菠萝', '菠萝', '草莓']
我的观点是我需要对这个数组进行排序,以保持相似的字符串之间的最大距离。例如,一个排序的,我的数组需要是这样的:
Eq ['苹果', '橙子', '苹果', '菠萝', '草莓', '菠萝']
这个算法需要在数组上运行一个来初始化这个排序并且需要处理插入和删除。
可能这种算法已经存在但我找不到。
谢谢 !
[更新]
有时数组不能以这种方式排序,例如,如果有很多关于其他元素的“菠萝”。但是在可能的情况下,两个相似的元素需要尽可能地出现在数组中。