estoy frente a un problema interesante:algoritmo reto: rango de fechas fusión
- Tengo varios intervalos de tiempo que pueden solaparse
- cada uno de ellos tiene un nombre
¿Es posible "des-traslapar" estos rangos? Es decir, para generar:
- un nuevo conjunto de rangos donde no se superpone a los otros
- cada una de esta nueva gama cuenta con una lista de nombres correspondientes
Tal vez pueda hacer esto un poco más gráfico. Esto es lo que tengo en primer lugar:
a |------------------------------|
b |-------------------|
c |-----------------|
Esto es lo que me gustaría obtener:
|------|---------|-------|-----|-----|
a a,c a,b,c a,b b
he encontrado una solución que tipo de obras, pero que no es elegante:
- Transformo cada rango (de, a) en una lista de días (d1, d2, d3, etc.)
- Nombres de grupos por día
- Agrego grupos que contienen los mismos nombres para recrear rangos
¿Puede pensar en una solución mejor? Estoy trabajando con C#, pero cualquier idea independiente del lenguaje sería muy apreciada. ¡Gracias!
Gracias por la respuesta. Tengo una pregunta sobre el punto 6 de su método alternativo. No estoy seguro de entender. ¿Podrías desarrollar? –
He elaborado y agregado una demostración. –
Gracias Justin. En el paso 9, te refieres a los pasos 4 y 5. ¿Te refieres a 5 y 8? –