Middle+
Կիրառեք ֆունկցիա, որը ընդունում է []any և delta int: Պետք է ավելացնել միայն առաջին հայտնաբերումները եզակի թվերի (int) վրա՝ delta-ով: Այլ տիպերը և կրկնվող թվերը թողնել առանց փոփոխության: Ֆունկցիան պետք է վերադարձնի թարմացված սլայսը և 2 թիվ: updated — քանի եզակի թիվ է փոխվել, duplicates — քանի թվային տարրեր են կրկնվել func IncrementUniqueIntsInMixed(xs []any, delta int) ([]any, int, int) { // ձեր կոդը }
sobes.tech AI
Պատասխան 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 {
// թիվ չէ, անցնում ենք
continue
}
if !seen[val] {
// առաջին հանդիպումը եզակի թվի — ավելացնում ենք
xs[i] = val + delta
seen[val] = true
updated++
} else {
// կրկնվող թիվ — հաշվում ենք որպես կրկնօրինակում
duplicates++
}
}
return xs, updated, duplicates
}