Czesc szukam fajnego rozwiazania pewnego algorytmu.Glowie sie z nim caly dzien i do tej pory nie znalazlem poprawnego rozwiazania. Troche ciezko mi bylo to wytlumaczyc w samym tytule, dlatego przejde do przykladu.
Kod :
// pierwszy zestaw danyc (zdj. po lewej)
const data= [{
type: 'A',
start: 5,
end:10,
}, {
type: 'B',
start: 6,
end: 15,
}]
// drugi zestaw danych (zdj. po prawej)
const data2= [{
type: 'A',
start: 4,
end:12,
}, {
type: 'B',
start: 5,
end: 10,
},
{
type: 'A',
start: 7,
end: 16,
}]
Rysunek pomocniczy z outputem
Czerwonki linie oznaczaja porownanie napotkanych wartosci, tak jakby na linii wartosci od najmniejszej do najwiekszej. Porownanie idzie chronologicznie i wypluwa jeden typ, ten ktory jest mniejszy, a pozniej laczy z typem, ktory powstal wczesniej.
W sumie to zalezy mi na rozwiazaniu, ktore jest jak najbardziej funkcyjne, jezeli tylko nie jest to konieczne, chce uniknac tymczasowych pomocniczych tablic, dlatego probowalem to zrobic w polaczeniu z reduce
/ map
/ filter
ale niestety nie wyszlo.