我们都知道,很多运动只影响身体的一半,因此您必须做两次,每一侧一次。这种练习有两个对应项,一个对应左侧,一个对应右侧。但是,只要双方的练习顺序相同,就不必连续执行两个对应的任务。您也可以在锻炼程序中在两边之间进行切换,但是从一侧开始进行一些练习而从另一侧开始进行一些练习则没有意义。
挑战
一个运动部分是非零整数,其中其第二部分包含否定了上半年的整数,并以相同的顺序列表,并在每个半整数的迹象是相等的。练习部分上半部分的标志是其领先的一面。
一个锻炼组是连接在一起的同一侧领先零个或多个运动部件。
给定一个非零整数列表作为输入,请确定它是否为练习集。整数不一定是唯一的。列表的长度不一定是偶数。
您的解决方案可能不使用任何标准漏洞。您可以使用任何两个不同的一致值进行输出。这是代码高尔夫球,因此最短的解决方案是成功的。
例子
[-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]
是运动部分的一个例子。前半部分是[-5, -1, -7, -6, -5]
,后半部分是[5, 1, 7, 6, 5]
,这是上半部分取反的每个整数。此外,前半部分的整数都是相同的符号。本练习部分的主要内容是-1
。
[3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]
是练习集的一个例子。它的各个运动部分分别是[3, 6, 5, -3, -6, -5]
和[1, 6, 4, 3, -1, -6, -4, -3]
,并且都具有领先优势1
。
[4, -4, -5, 5]
尽管仅由有效的练习部分组成,但它不是练习集,因为第一部分[4, -4]
具有领先优势1
,而第二部分[-5, 5]
具有领先优势-1
。
测试用例
有效的测试用例:
[]
[1, -1]
[1, -1, 1, -1]
[-6, 6, -5, -4, -3, 5, 4, 3]
[-1, -5, -8, 1, 5, 8, -7, -6, -5, -3, 7, 6, 5, 3]
[-1, -5, -8, 1, 5, 8, -1, 1]
无效的测试用例:
[1]
[1, -2]
[1, 2, -3, -1, -2, 3]
[1, 2, 3, -3, -1, -2]
[-1, -5, -8, 1, 5, 8, 7, 6, 5, 3, -7, -6, -5, -3]
[1, 2, 3, 5, 1, 2, 3, 5]
[1, 2, -5, 4, -6, 5, 5, -6]
[1, 2, -1, 3, -2, -3]
[1, -2, 1]
[-1, -1, 1]
[1, -1, 1]