Sobes.tech
Middle+

Язган функция, ул in-place рәвештә val белән тигез булган барлык элементларны бетерә. Бетерелгән кыйммәтләрсез кисәкне кайтара. func RemoveValue(slice []int, val int) []int { // кодыгыз } // Мисал RemoveValue([]int{1,2,3,2,4}, 2) // -> []int{1,3,4} RemoveValue([]int{1,2,3}, 5) // -> []int{1,2,3} RemoveValue([]int{}, 1) // -> []int{}

sobes.tech AI

Ҷавоб аз AI

Функсия, ки ҳамаи элементҳоро, ки баробар ба val ҳастанд, аз слайс хориҷ мекунад, онро дар ҷой тағир медиҳад ва слайси навро бо ин элементҳо намебарорад. Барои ин, метавон ду индекс истифода бурд: яке барои хондан, дигар барои навиштан.

func RemoveValue(slice []int, val int) []int {
    j := 0
    for _, v := range slice {
        if v != val {
            slice[j] = v
            j++
        }
    }
    return slice[:j]
}

Масалан:

fmt.Println(RemoveValue([]int{1,2,3,2,4}, 2)) // [1 3 4]
fmt.Println(RemoveValue([]int{1,2,3}, 5))     // [1 2 3]
fmt.Println(RemoveValue([]int{}, 1))          // []