Middle+
Implementeer een functie die []any en delta int accepteert. Alleen de eerste voorkomens van unieke nummers (int) moeten met delta worden verhoogd. Andere types en herhaalde nummers blijven ongewijzigd. De functie moet de bijgewerkte slice en 2 getallen retourneren: updated — hoeveel unieke nummers zijn gewijzigd, duplicates — hoeveel numerieke elementen duplicaten waren func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // jouw code }
sobes.tech AI
Antwoord van AI
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 {
// geen nummer, overslaan
continue
}
if !seen[val] {
// eerste voorkomen van een unieke nummer — verhogen
xs[i] = val + delta
seen[val] = true
updated++
} else {
// herhaald nummer — telt als duplicaat
duplicates++
}
}
return xs, updated, duplicates
}