Middle
Describa el enfoque de almacenar la posición de la última unidad al resolver el problema de la distancia máxima
sobes.tech AI
Respuesta de la IA
El enfoque de mantener la posición de la última unidad al resolver el problema de la distancia máxima (por ejemplo, la distancia máxima entre unidades en un array) consiste en lo siguiente:
- Iterar a través del array, rastreando el índice de la última unidad encontrada.
- Al encontrar una nueva unidad, calcular la distancia hasta la última posición guardada de una unidad.
- Actualizar la distancia máxima si la actual es mayor.
- Actualizar la posición de la última unidad al índice actual.
Esto permite encontrar la distancia máxima entre unidades en una sola pasada sin necesidad de almacenar todas las posiciones.
Ejemplo en Go:
func maxDistance(arr []int) int {
lastPos := -1
maxDist := 0
for i, val := range arr {
if val == 1 {
if lastPos != -1 {
dist := i - lastPos
if dist > maxDist {
maxDist = dist
}
}
lastPos = i
}
}
return maxDist
}