Estoy seguro de que esto debe haberse preguntado antes, pero no lo estoy encontrando: solo estoy encontrando preguntas relacionadas, pero más difíciles.¿Qué es un algoritmo ordenado para encontrar intervalos superpuestos?
Tengo cuatro puntos, lo que representa dos líneas de este tipo:
A C B D
|------*---|-----+----|-*---+---|----------|
0 10 20 30 40
Así, en el ejemplo, AB = {7, 21}
y CD = {16,26}
. (Las líneas podrían estar en cualquier relación entre sí, y de cualquier tamaño.) Quiero saber si se superponen o no, y por cuánto si es así. (En el ejemplo, la respuesta sería 5.) Mi solución actual implica un montón de pasos complicados si/entonces, y no puedo evitar pensar que hay una buena solución aritmética. ¿Esta ahí?
(Sal. En realidad, estoy haciendo cuadro delimitador intersección, pero si lo puedo conseguir en una sola dimensión, el otro será el mismo, obviamente)
Quiero que la cantidad de superposición, no sólo si o no lo hacen. Gracias, sin embargo. – sprugman
@sprugman: sería bastante fácil extrapolar el código de Mark para calcular la cantidad de intersección. –
Lo que hizo por mí, Matt. Gracias, Mark! :) – sprugman