RE: List processing
- To: mathgroup at smc.vnet.net
- Subject: [mg37214] RE: List processing
- From: "DrBob" <drbob at bigfoot.com>
- Date: Thu, 17 Oct 2002 00:08:33 -0400 (EDT)
- Reply-to: <drbob at bigfoot.com>
- Sender: owner-wri-mathgroup at wolfram.com
Here's a very simple solution:
v = {{100, 200}, {150, 250}, {120, 270}, {300, 400}};
Interval @@ v
List @@ %
Interval[{100, 270}, {300, 400}]
{{100, 270}, {300, 400}}
DrBob
-----Original Message-----
From: John Leary [mailto:leary at paradise.net.nz]
To: mathgroup at smc.vnet.net
Subject: [mg37214] List processing
Greetings
This problem can be solved by conventional programming, but I wonder if
there is an elegant Mathematica solution ?
A list contains pairs of values, with each pair representing the lower
and
upper edge of a sub-range. Some of the sub-ranges partially overlap,
some
fully overlap, others don't overlap at all. The problem is to produce a
second list that contains the overall upper and lower edges of the
overlapping sub-ranges.
A simple example : {{100,200},{150,250},{120,270},{300,400}} would
result
in {{100,270},{300,400}}.
In the real case, the input list has several hundred elements and the
output list typically has five elements.
I have a working solution based on loops, but there must be a more
elegant
one. I would be very grateful for any suggestions.
Best regards
John Leary