jak*_*115 3 perl range overlap
我希望能够加载长整数范围列表,并创建一个新的"汇总"范围列表,它是每对范围的交叉点的并集.而且,我想在Perl中这样做.例如:
Sample ranges: (1..30) (45..90) (15..34) (92..100)
Intersection of ranges: (15..30)
Run Code Online (Sandbox Code Playgroud)
我能想到的唯一方法是使用一堆嵌套if语句来确定样本A,样本B,样本C等的起点,并以这种方式找出重叠,但是不可能用数百个样本来做,每个包含许多范围.
任何建议表示赞赏!
当你需要做一些事情时,你应该做的第一件事是看看CPAN,看看有人已经为你解决了问题的工具.
设置:: IntSpan和设置:: IntRange是结果的第一页上CPAN"套"上.
你想要的是每对范围的交集的联合,所以算法如下: