Middle
Décrivez l'approche consistant à stocker la position de la dernière unité lors de la résolution du problème de la distance maximale
sobes.tech IA
Réponse de l'IA
L'approche consistant à stocker la position de la dernière unité lors de la résolution du problème de la distance maximale (par exemple, la distance maximale entre unités dans un tableau) est la suivante :
- Parcourir le tableau, en suivant l'indice de la dernière unité rencontrée.
- Lorsqu'une nouvelle unité est rencontrée, calculer la distance jusqu'à la dernière position enregistrée de cette unité.
- Mettre à jour la distance maximale si la distance actuelle est plus grande.
- Mettre à jour la position de la dernière unité à l'indice actuel.
Cela permet de trouver la distance maximale entre unités en une seule passe, sans avoir besoin de stocker toutes les positions.
Exemple 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
}