我的意思是反向抱歉,本质上是找到第一个真正的元素,然后循环向后移动,直到找到最后一个有效元素,一旦通过循环反向遍历数组找到最后一个元素,循环前进,发现错误。移动圆形数组元素算法?
我给了一双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