我正在編寫一個紙牌遊戲,我需要按照排名排列一堆卡。以便它們形成無間隙序列。 在這個特殊的遊戲價值2卡可作爲外卡,因此,例如卡用通配符排序卡
2 3 5
應該這樣
3 2 5
進行排序,因爲2代替4,否則它不會是一個有效的序列。然而,卡
2 3 4
應該留像他們
。
限制:只有一個'2'用作通配符。
2 2 3 4
也會保持原樣,因爲前2個會替換ACE(或1,無論您稱之爲什麼)。
以下內容不是有效的輸入序列,因爲其中一個必須用作通配符,而不能用作通配符。那麼無法構成無間隙序列。
2 4 2 6
現在我很難弄清楚2是否被用作通配符。一旦我明白了,我想我可以做其他的排序
感謝任何有關此問題的算法幫助!
如果你有卡片「2,2,4,6」,結果序列應該是「2,4,2,6」還是「4,2,6,2」? – 2011-05-24 14:41:52
好問題!可以只有一個'2'用作通配符。所以這種情況首先不是一個有效的序列。我會相應地編輯我的問題。 – clamp 2011-05-24 14:48:03
將遇到的第一個'2'改爲'0'(或其他不使用的字符),並將其用作通配符。然後在顯示之前將其轉換回「2」。 – 2011-05-24 15:10:18