Sobes.tech
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
}