Sobes.tech
Middle

Maksimum məsafə problemini həll edərkən son vahidin mövqeyini saxlama yanaşmasını təsvir edin

sobes.tech Süni İntellekt

AI-dan cavab

Maksimum məsafəyə çatmaq üçün son vahid mövqeyini saxlama yanaşması (məsələn, massivdə vahidlər arasındakı maksimum məsafə) aşağıdakı kimidir:

  • Massiv boyunca keçərək, ən son rast gəlinən vahidin indeksini izləyin.
  • Yeni vahidlə rastlaşdıqda, bu vahidin saxlanılan son mövqeyinə olan məsafəni hesablayın.
  • Əgər cari məsafə ən böyükdürsə, maksimum məsafəni yeniləyin.
  • Son vahid mövqeyini cari indeksə yeniləyin.

Bu, bütün mövqeləri saxlamağa ehtiyac olmadan, vahidlər arasındakı maksimum məsafəni tək bir keçiddə tapmağa imkan verir.

Go dilində nümunə:

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
}