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
}