输入项
两个列表A
和B
非负整数。
输出量
任一1
,0
或-1
根据是否A
大于,等于或小于B
相对于所述扭曲词典式排序如下文所定义。如果需要,可以将1
,0
和替换-1
为任何其他三个常数值。
扭曲的字典顺序与普通的字典顺序类似,在于您逐个元素比较列表,并在第一个不同的索引处确定列表的顺序。但是,在扭曲版本中,对于每个索引,我们对非负整数使用不同的排序。即,在每个索引处i
(索引从处开始1
),第一个i
非负整数(从0
到i-1
)的顺序被颠倒,并且它们移至所有其他数字的上方。此外,表示一个列表比另一个列表短的“缺失元素”直接移到下面i-1
。视觉上,索引的顺序i
是
i < i+1 < i+2 < i+3 < ... < [missing element] < i-1 < i-2 < i-3 < ... < 2 < 1 < 0
请注意,第一个...
表示无限多个数字。这意味着以下列表相对于扭曲的字典顺序而言按升序排列:
[3,2,3,4]
[3,2,3,5]
[3,2,3,10]
[3,2,3,1341]
[3,2,3]
[3,2,3,3]
[3,2,3,2]
[3,2,3,1]
[3,2,3,0]
规则
您可以提供完整的程序或功能。最低字节数获胜,并且不允许出现标准漏洞。
测试用例
Output 1:
[0] []
[] [1]
[] [1,2,1,2]
[2,1] [1,1]
[0,1,2] [0,2,1]
[3,0] [3,1]
[3,1] [3]
[2] [2,2]
[2] [2,23]
[2,24] [2,23]
[2,1] [2,23]
Output 0:
[] []
[0] [0]
[1,1] [1,1]
[2,1,2] [2,1,2]
Output -1:
[1,2,1,1,2] [1,2,1,1,1]
[1,2,1,1,5] [1,2,1,1,4]
[1,2,1,1,5] [1,2,1,1]
[1,2,1] [1,2,1,1]
[1,2,1,1,5] [1,2,1,1,6]
[1,2,1,1,6] [1,2,1,1,7]
输入列表是从0,从1还是从适合我们语言的任何一个开始索引的?
—
彼得·泰勒
@PeterTaylor来自1.我将进行澄清。
—
Zgarb 2015年
我可以使用Haskell自己的枚举作为比较结果而不是-1/0/1作为输出吗?
—
约翰·德沃夏克
@JanDvorak我会允许的,并编辑挑战。
—
Zgarb 2015年