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