Sobes.tech
Middle

Beschrijf de aanpak waarbij de positie van de laatste eenheid wordt opgeslagen bij het oplossen van het probleem van de maximale afstand

sobes.tech AI

Antwoord van AI

De aanpak waarbij de positie van de laatste eenheid wordt opgeslagen bij het oplossen van het probleem van de maximale afstand (bijvoorbeeld, de maximale afstand tussen eenheden in een array) is als volgt:

  • Loop door de array, waarbij je de index van de laatst ontmoetende eenheid bijhoudt.
  • Bij het ontmoeten van een nieuwe eenheid, bereken de afstand tot de laatst opgeslagen positie van deze eenheid.
  • Werk de maximale afstand bij als de huidige groter is.
  • Werk de positie van de laatste eenheid bij naar de huidige index.

Dit stelt je in staat om de maximale afstand tussen eenheden in één enkele pass te vinden zonder alle posities op te slaan.

Voorbeeld in 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
}