Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: union and intersection of ranges

by LanX (Saint)
on Feb 09, 2023 at 00:29 UTC ( [id://11150251]=note: print w/replies, xml ) Need Help??


in reply to union and intersection of ranges

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
(addicted to the 𐍀𐌴𐍂𐌻 Programming Language :)
Wikisyntax for the Monastery

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11150251]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2024-04-19 09:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found