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