我的意思是反向抱歉,本質上是找到第一個真正的元素,然後循環向後移動,直到找到最後一個有效元素,一旦通過循環反向遍歷數組找到最後一個元素,循環前進,發現錯誤。移動圓形數組元素算法?
我給了一雙bool,int的數組。
數組總是有4個元素。真的元素是循環鏈接在一起例如:
TFFT
TTFT
FFTT
FTTT
TFFF
FTTF
這些都是我可以擁有的有效數組。 它們包含的數字對於此(對第二個值)並不重要。
我需要做的是: 只保留真實的。但是我需要他們保持正確的循環順序,以便最後一個有效的真實元素首先出現。
因此,例如: 如果我的數組是:
T 1
F 2
F 3
T 4
新的數組必須是:
T 4
T 1
又如: 如果我的數組是:
F 1
T 2
T 3
F 4
新陣列需要:
T 2
T 3
這只是該問題的一個抽象示例。實際的代碼很複雜,很難閱讀。但如果我知道如何做到這一點,我會沒事的。
基本上我需要從第一個不連續元素順時針走到最後一個連續元素。
感謝
編輯: 通過循環鏈接在一起我的意思是,如果第4和第一個元素是真實的,他們沒有斷開意味着他們不是不連續,3,4,1被認爲是連續的。
因此,如果你有TFTT,那麼我需要它們的順序是3,4,1。
你能解釋一下「循環鏈接」的含義嗎? – bitmask
您的描述「但我需要他們保持正確的循環順序,以便最後一個有效的真實元素會先到達」與您的第二個示例不匹配。在你的第二個例子中,你應該先說「T 2」。但「T 2」如何是「最後有效的真實元素」? – HighCommander4
@HighCommander4我的意思是反過來抱歉,基本上,找到第一個真正的元素,然後循環向後移動,直到找到最後一個有效元素,然後循環前進,直到發現錯誤。 – jmasterx