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

}