En una entrevista reciente me preguntaron:Encontrar la mitad de la lista de tamaños desconocidos
Encuentra el elemento medio de una lista ordenada de longitud desconocida comenzando desde la primera posición.
me respondieron con esto:
tener 2 contadores de posición:
COUNTER1 Counter2
Incremento contador1 en 1 y 2. Cuando Counter2 por el contador 2 llega al final de la barra de la lista 1 se estar en el medio. Siento que esto no es eficiente porque estoy revisando nodos que ya he visto. De cualquier manera, ¿hay un algoritmo más eficiente?
Este es el tiempo 'O (N)' y el espacio 'O (1)'; Parece bastante bueno para mí. – PengOne
Si la longitud es desconocida, ¿qué operaciones están permitidas? ¿Es una lista enlazada? – Vlad
Estaba pensando que podrías hacer algo similar pero los mismos contadores, pero en lugar de saltar 2, salta una cantidad mayor. Salta la distancia del contador que está saltando por 1 y luego cuando alcances tu conteo de límites por uno. ¿Es esto mejor, inválido o defectuoso? – segFault