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