Middle+
Implementieren Sie eine Funktion, die []any und delta int akzeptiert. Es ist notwendig, nur die ersten Vorkommen von eindeutigen Zahlen (int) um delta zu erhöhen. Andere Typen und wiederholte Zahlen bleiben unverändert. Die Funktion sollte die aktualisierte Liste und 2 Zahlen zurückgeben: updated – wie viele eindeutige Zahlen geändert wurden, duplicates – wie viele numerische Elemente Duplikate sind func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // Ihr Code } // Beispiel: xs := []any{1, "a", 5, "b", 1, 0, 5} u, d, s := IncrementUniqueIntsInMixed(xs, 3) // xs == []any{4, "a", 8, "b", 1, 3, 5} // u == 3 // eindeutige Zahlen: 1, 5, 0 // d == 2 // doppelte Zahlen: zweite 1, zweite 5
sobes.tech KI
Antwort von 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 {
num, ok := v.(int)
if !ok {
// keine Zahl, überspringen
continue
}
if !seen[num] {
// erste Vorkommen einer einzigartigen Zahl
xs[i] = num + delta
seen[num] = true
updated++
} else {
// doppelte Zahl
duplicates++
}
}
return xs, updated, duplicates
}
Beispiel für die Verwendung:
```go
xs := []any{1, "a", 5, "b", 1, 0, 5}
u, d, s := IncrementUniqueIntsInMixed(xs, 3)
// xs == []any{4, "a", 8, "b", 1, 3, 5}
// u == 3 (Zahlen 1, 5, 0 erhöht)
// d == 2 (zweites 1 und zweites 5 - Duplikate)