Middle+
Implemente uma função que aceite []any e delta int. É necessário aumentar em delta apenas as primeiras ocorrências de números únicos (int). Outros tipos e números repetidos devem ser deixados inalterados. A função deve retornar a lista atualizada e 2 números: updated — quantos números únicos foram alterados, duplicates — quantos elementos numéricos eram duplicados func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // seu código }
sobes.tech IA
Resposta da IA
go func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { seen := make(map[int]bool) updated := 0 duplicates := 0
for i, v := range xs {
val, ok := v.(int)
if !ok {
// não é um número, passa
continue
}
if !seen[val] {
// primeira ocorrência de um número único — incrementa
xs[i] = val + delta
seen[val] = true
updated++
} else {
// número repetido — conta como duplicado
duplicates++
}
}
return xs, updated, duplicates
}