Sobes.tech
Middle+

Funktsiya yozing, u slice ichida val ga teng bo'lgan barcha elementlarni joyida olib tashlaydi. O'chirilgan qiymatlar bo'lmagan holda bo'lakni qaytaradi. func RemoveValue(slice []int, val int) []int { // kodingiz } // Misol 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

AIdan javob

Функция 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))          // []