S1s*_*hus 4 c++ python algorithm bash
例如,假设我有以下字符串:
duck duck duck duck goose goose goose dog
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我希望它尽可能地人口稀少
duck goose duck goose dog duck goose duck
Run Code Online (Sandbox Code Playgroud)
你会推荐什么样的算法?代码片段或一般指针是有用的,语言欢迎Python,C++和额外的荣誉,如果你有办法在bash中做到这一点.
我将按重复次数对数组进行排序,从最重复的元素开始,尽可能地将这些元素分开
在你的例子中,duck被复制了4次,因此对于从0到3(包括0和3)的n,duck将被放置在n*8/4的位置.
然后将下一个最重复的一个(鹅)放在n*8/3 + 1的位置,从0到2(包括0和2),如果已经放置了某些东西,只需将它放在下一个空位.等等