我的意思是反向抱歉,本质上,找到第一个真正的元素,然后循环向后移动,直到找到最后一个有效元素,一旦通过循环反向遍历数组找到最后一个为真的元素,循环前进并推动直到一个假被发现。
我得到了一对 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 的顺序排列。