Perl-Sensitive Sunglasses | |
PerlMonks |
Re: union and intersection of rangesby LanX (Saint) |
on Feb 09, 2023 at 00:29 UTC ( [id://11150251]=note: print w/replies, xml ) | Need Help?? |
I think you are overdoing this, by using Set::IntSpan Ranges are normally given by the $start and $end -point, no need to create an actual list with a Perl range operator '..' for this task. > 1) check if the start or the end of each range deviate by more than five check abs($end[$_]-$start[$_]) >= 5 for 0,1 > 2) check if the intersection of the range is at least half its union > My problem is I don't understand what they want in (2). Do they refer to the LENGTH of the intersection being at least half the length of the union? Yes what else? An intersection is min($end[0],$end[1]) - max($start[0],$start[1]) provided start <= end for both, otherwise flip them. There is no intersection if negative. The union is similar if there is an intersection. The rest is left to the reader ;-)
Cheers Rolf
In Section
Seekers of Perl Wisdom
|
|