在联合间隔符号中找到2个集合的交点
给定两组描述为间隔的并集的实数,请输出这两组集合的相交的描述作为相同类型的间隔的并集。
输入集将始终包含间隔的并集,以便每个间隔以不同的整数开始和结束(即,没有间隔的度量为零)。但是,同一集合中的不同间隔可能以相同整数或重叠开始或结束。
输出集还必须是以整数开头和结尾的间隔的并集,但是即使是单个整数,输出中的间隔也不能与其他任何间隔重叠。
输入可以采用任何适合您选择的语言的形式,只要它由两个成对的整数对组成。
[-10,-4]u[1,5]u[19,20]
或作为:
[[-10,-4],[1,5],[19,20]]
或作为:
[-10,-4;1,5;19,20]
您的输出表示形式必须与输入表示形式相同(除了它只是间隔的一个列表,而不是两个)。
示例/测试用例:
输入:
[[[-90,-4],[4,90]],[[-50,50]]]
输出:
[[-50,-4],[4,50]]
换句话说,我们将包含-90和-4之间所有实数以及4和90之间所有实数的集合与包含-50和50之间所有实数的集合相交。交集是包含所有介于-50和-4之间的实数,以及所有介于4和50之间的实数。
-90~~~~~-4 4~~~~~90 intersected with
-50~~~~~~~~50 yields:
-50~-4 4~~50
输入:
"[-2,0]u[2,4]u[6,8]
[-1,1]u[3,5]u[5,9]"
输出:
"[-1,0]u[3,4]u[6,8]"
输入:
[-9,-8;-8,0;-7,-6;-5,-4]
[-7,-5;-1,0;-8,-1]
输出:
[-8,0]
无效的输出(即使它表示相同的集合):
[-8,0;-7,-5;-5,0]
得分:
这是代码高尔夫球,因此以字节为单位的最短源代码获胜,可能会受到以下奖励的影响。
奖金:
如果您还支持正和负无穷大作为区间的边界,则为-15%。您可以选择代表这些数字的令牌。(是的,无穷大是超现实中的数字; P)
[[[4,90],[-90,-4]],[[-50,50]]]