Сложность: easy
Учитывая целочисленный массив
nums и целочисленное значение val, удалите все вхождения val в nums на месте. Порядок элементов может быть изменен. Затем верните количество элементов, которые не равны val. Пример:
Input: nums = [3,2,2,3], val = 3
Output: 2
👨💻Алгоритм:
1⃣Используем указатель
k для отслеживания позиции, куда вставлять элементы, не равные val. 2⃣Проходим по массиву и при нахождении элемента, отличного от
val, записываем его на позицию k, затем увеличиваем k. 3⃣В конце
k будет содержать количество элементов, которые не равны val. 😎Решение:
func removeElement(_ nums: inout [Int], _ val: Int) -> Int {
var k = 0
for i in 0..<nums.count {
if nums[i] != val {
nums[k] = nums[i]
k += 1
}
}
return k
}Ставь 👍 и забирай 📚 Базу знаний