Middle
Maksimum mesafe problemi çözümünde son biriminin konumunu saklama yaklaşımını açıklayın
sobes.tech yapay zeka
AI'dan gelen yanıt
Maksimum mesafeye ulaşmak için son birim konumunu saklama yaklaşımı (örneğin, bir dizideki birimler arasındaki maksimum mesafe) şu şekildedir:
- Diziyi dolaşırken, son karşılaşılan birimin indeksini takip edin.
- Yeni birimle karşılaşıldığında, bu birimin son kaydedilen konumuna olan mesafeyi hesaplayın.
- Eğer şu anki mesafe en büyükse, maksimum mesafeyi güncelleyin.
- Son birim konumunu güncel indeksle değiştirin.
Bu, tüm konumları saklamaya gerek kalmadan, tek bir geçişte birimler arasındaki maksimum mesafeyi bulmayı sağlar.
Go dilinde örnek:
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
}