Middle
Beschreiben Sie den Ansatz, die Position der letzten Einheit beim Lösen des Problems des maximalen Abstands zu speichern
sobes.tech KI
Antwort von AI
Подход с хранением позиции последней единицы при решении задачи о максимальном расстоянии (например, максимального расстояния между единицами в массиве) заключается в следующем:
- Итерируемся по массиву, отслеживая индекс последней встреченной единицы.
- При встрече новой единицы вычисляем расстояние до последней сохранённой позиции единицы.
- Обновляем максимальное расстояние, если текущее больше.
- Обновляем позицию последней единицы на текущий индекс.
Это позволяет за один проход найти максимальное расстояние между единицами без необходимости хранить все позиции.
Пример на 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
}