Encontrar marcas de tiempo con la diferencia mínima

La función recibe una lista sin ordenar de marcas de tiempo como cadenas en formato militar: "00:00:00" -> "23:59:59". Encuentra dos marcas de tiempo que tengan la duración mínima entre todos los pares posibles de la lista. Es posible que más de un par tenga la duración mínima. Por lo tanto, devuelve el conjunto de tuplas, p. ej., {(t1, t2), (t3, t4), etc}.

El reloj digital sigue avanzando y vuelve a empezar al pasar la medianoche, lo cual es importante para calcular la duración. Por ejemplo:

  • t1 = "23:59:59"
  • t2 = "00:00:01"

Entonces, (t1, t2) tiene una duración de 2 segundos, mientras que (t2, t1) tiene una duración de 24 * 3600 - 2 segundos.

Ejemplos

min_time_diff(["01:10:00", "02:15:30", "01:10:10"]) ➞ {('01:10:00', '01:10:10')}

min_time_diff(["23:59:59", "14:35:30", "00:00:00"]) ➞ {('23:59:59', '00:00:00')}

min_time_diff(["23:59:25", "23:59:57", "17:20:30", "00:00:02", "17:20:35"]) ➞ {('23:59:57', '00:00:02'), ('17:20:30', '17:20:35')}

min_time_diff(["00:00:08", "00:00:04", "00:00:12"]) ➞ {('00:00:08', '00:00:12'), ('00:00:04', '00:00:08')}

Notas

N/A