Middle+
Implémentez une fonction qui prend []any et delta int. Il faut augmenter de delta uniquement les premières occurrences de nombres entiers uniques (int). Les autres types et nombres répétés doivent rester inchangés. La fonction doit retourner la liste mise à jour et 2 nombres : updated — combien de nombres uniques ont été modifiés, duplicates — combien d'éléments numériques se sont avérés être des doublons func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // votre code }
sobes.tech IA
Réponse de l'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 {
// ce n'est pas un nombre, on passe
continue
}
if !seen[val] {
// première occurrence d'un nombre unique — on l'incrémente
xs[i] = val + delta
seen[val] = true
updated++
} else {
// nombre répété — on compte comme un doublon
duplicates++
}
}
return xs, updated, duplicates
}