Trovare "tempo libero" in un giorno da un elenco di eventi

-1

Ho una lista di eventi che sono sempre ordinati in ordine cronologico. L'ora di inizio è sempre seguita dall'ora di fine. I tempi sono stringhe formattate come 'HHmmss'.

// list of events

var events = [
    '010000',  // start
    '013000',  // end...
    '053000',
    '060000',
    '161500',
    '184500']

// desired output

var spares = [
    '000000',  // start
    '010000',  // end...
    '013000',
    '053000',
    '060000',
    '161500',
    '184500',
    '235959']

Come posso creare una nuova lista di "tempo libero" da 000000 a 235959 ?

PS Sto cercando di farlo in Javascript, ma qualsiasi risposta concettuale o pseudo codice sarebbe utile anche.

    
posta MFB 25.08.2014 - 08:22
fonte

1 risposta

3

Se "tempo libero" è definito come l'intervallo tra gli eventi, il formato dell'elenco rende molto semplice convertire l'elenco degli eventi in un elenco di orari di riserva:

  1. Aggiungi mezzanotte sia all'inizio che alla fine dell'elenco
  2. Passa sopra il nuovo elenco e rimuovi qualsiasi intervallo inferiore a 0 secondi (o qualunque soglia tu voglia).

Con gli eventi di esempio, questo ti darebbe dopo il punto 1:

000000
010000
013000
053000
060000
161500
184500
235959

e dopo il passaggio 2:

000000
010000
013000
053000
060000
161500
184500
235959
    
risposta data 25.08.2014 - 08:38
fonte

Leggi altre domande sui tag