交叉序列
交叉序列 给定一个正整数列表,如果每个元素大于或等于前一个A,则称其为递增序列;否则,将其称为递增序列。如果每个元素小于或等于前一个元素,则将其称为递减序列。 一些增加的顺序: [1,2,4,7] [3,4,4,5] [2,2,2] [] 一些递减顺序: [7,4,2,1] [5,4,4,3] [2,2,2] [] 甲交叉序列是可以分解成两个不相交的子序列,一个增加的序列和其他的递减序列的列表。 例如,列表: [3,5,2,4,1] 是交叉序列,因为它可以分解为: [3, 4 ] [ 5,2, 1] 哪里[3,4]是增加的子序列,[5,2,1]是减少的子序列。我们将这样的一对(递增,递减)子序列称为交叉序列的分解。 名单: [4,5,2,1,3] 不是交叉序列;没有办法将其分解为增加和减少的子序列。 您的任务是编写一个程序/函数,将正整数列表作为输入;如果是交叉序列,则以其分解之一返回两个列表;或一些一致的“假”值(如果列表不是交叉序列)。 这是代码高尔夫球;每种语言中最短的程序/功能就是赢家。 规则: 输入是灵活的。 通常的漏洞是被禁止的。 如果有多种分解输入的有效方法,则可以输出其中一种或全部。 分解的输出格式很灵活;但是在两个子序列之间的区别上必须是明确的。 您可以使用任何一致的输出值来表示输入不是交叉序列。只要与任何交叉序列的输出相比,它都是明确的。您应该在答案中指定falsey值。 测试用例: 使用False,以指示不交叉的序列: [3, 5, 2, 4, 1] => [3, 4], [5, 2, 1] [3, 5, 2, …