Middle
Descrieți abordarea de a stoca poziția ultimei unități în timpul rezolvării problemei distanței maxime
sobes.tech AI
Răspuns de la AI
Abordarea de a păstra poziția ultimei unități în rezolvarea problemei distanței maxime (de exemplu, distanța maximă între unități într-un array) constă în următoarele:
- Parcurgerea array-ului, urmărind indicele ultimei unități întâlnite.
- La întâlnirea unei noi unități, calcularea distanței față de ultima poziție salvată a acesteia.
- Actualizarea distanței maxime dacă cea curentă este mai mare.
- Actualizarea poziției ultimei unități la indicele curent.
Acest lucru permite găsirea distanței maxime între unități într-o singură trecere, fără a fi nevoie să stocați toate pozițiile.
Exemplu în 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
}