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
}