Middle
Descreva a abordagem de armazenar a posição da última unidade ao resolver o problema da distância máxima
sobes.tech IA
Resposta da IA
A abordagem de manter a posição da última unidade ao resolver o problema da distância máxima (por exemplo, a distância máxima entre unidades em um array) consiste no seguinte:
- Percorrer o array, rastreando o índice da última unidade encontrada.
- Ao encontrar uma nova unidade, calcular a distância até à última posição guardada dessa unidade.
- Atualizar a distância máxima se a atual for maior.
- Atualizar a posição da última unidade para o índice atual.
Isso permite encontrar a distância máxima entre unidades em uma única passagem, sem necessidade de armazenar todas as posições.
Exemplo em 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
}