Начал проходить и появился ряд вопросов, замечаний.
Думаю буду дополнять тему по мере появления новых.
Хотелось бы услышать мнение тех кто проходил курс, либо просто разбираются в теме.
Урок 4. Удалить дубликаты из отсортированного массива
Препод предлагает сделать цикл через while для того чтобы удалять дубликаты
func removeDuplicates(arr: inout [Int]) {
var previous: Int? = nil
var index = 0
while index < arr.count {
let elem = arr[index]
if elem == previous {
arr.remove(at: index)
} else {
index += 1
previous = elem
}
}
}
Но насколько я понимаю после удаления элемента весь массив должен перестроиться и вместо сложности O(n) мы получаем сложность O(n*n)
Мне кажется эффективней использовать цикл for и возвращать новый массив, либо присваивать его параметру inout