只想重新排列數組中的數據,以便類似的項目不在每個項目旁邊。數據不應該從數組中刪除,如果它不能重新排列,它可以放在數組的末尾。但保持原來的秩序是必要的。如何重新排列數組中的數據,以便兩個相似的項目彼此不相鄰?
例
1 1 2 => 1 2 1
1 1 1 2 3 => 1 2 1 3 1
1 1 2 1 3 3 5 1 => 1 2 1 3 1 3 5 1
1 1 1 1 1 1 2 => 1 2 1 1 1 1 1
8 2 1 3 7 2 5 => rearrange not needed
8 2 2 2 7 2 5 2 => 8 2 7 2 5 2 2 // keep the original order
編輯: 新增爲例,說明保持原有的以在需要
你想重新排列它們,但保持順序....? – 2010-11-11 17:19:18
我只是說如果可能的話 – 2010-11-11 17:21:13
@Mark - 這兩者是互斥的......要麼保留訂單或改變它......你能澄清你的意思嗎? – 2010-11-11 17:21:50