挑战
给定一个列表,确定将列表分组为增加和减少元素的运行是否将导致大小相等的列表的列表。
换句话说,列表的“转折点”平均间隔开。
例
这是一个例子: 0, 3, 7, 5, 2, 3, 6
0, 3, 7
增加,7, 5, 2
减少和2, 3, 6
增加。因此,这是事实。
另一个例子: 1, 4, 6, 8, 5, 3, 5, 7, 9
1, 4, 6, 8
增加,8, 5, 3
减少和3, 5, 7, 9
增加。因此,这是虚假的。
规则和规格
- 没有相邻的元素将相等
- 可以假定所有数字都在您的语言的合理数字范围内
- 您可以假设所有数字都是整数,如果它可以帮助您打高尔夫
- 这是代码高尔夫球,因此最短的答案将获胜
- 以任何合理表示形式的列表形式输入,并以任何真实/虚假值输出。这两个值必须一致。
测试用例
Input -> Output
1, 3, 5, 8, 6, 4, 2, 3, 5, 7, 6, 4, 2, 5, 7, 9, 6, 4, 2 -> True
1, 3, 5, 7, 6, 4, 5, 7, 9, 8, 6, 4, 2, 3, 5 -> False
2, 3, 6, 4, 2, 3, 7, 5, 3, 4, 6 -> True
3, 6, 4, 8, 5, 7, 3, 5, 2 -> True
8 -> True
1, 3, 5, 7 -> True
4, 5, 7, 6, 8, 9 -> False
6, 4, 2, 3, 5, 4, 2 -> True
8, 5, 3, 2, 4, 6, 5, 3, 2, 5, 7 -> False
注意:您可能无法假定所有数字都是一位数字(除非您的语言能够处理所有数字);测试用例反映了这一点,因为对我来说,用这种方式键入用例更容易:P这是一些测试用例,其数字超出该范围:
1, 5, 10, 19, 15, 13, 8, 13, 18, 23, 19, 18, 14 -> True
15, 14, 17, 16, 19, 18 -> True
12, 16, 19, 15, 18, 19 -> False
1, 2, 3, 2
是有效的输入,如果这样认为是对还是错?在该示例中,下一个值为1会使它为true,但为3会使它为false。