Привет, ребята, надеюсь, вы понимаете, как решить эту проблему с помощью языка Swift.

Наши входные и выходные массивы будут такими

Вход = [10,0,2,3,0,1,3,0], Выход = [1,2,3,3,10,0,0 ,0]

Шаг 1

Создайте функцию, которая будет принимать массив в качестве входных данных и возвращать массив в качестве выходных данных.

По умолчанию параметры функции в swift не изменяемы, поэтому, сделав их изменяемыми, мы можем использовать ключевое слово inout с типом данных параметров.

Создайте переменную count, которая будет использоваться как счетчик. Теперь все элементы, которые больше нуля, сначала смещаются в индексы, а также обновляют счетчик, когда любой элемент смещается вверх.

Шаг 2

Теперь сделайте все оставшиеся индексы массива, которые больше, чем count, равными нулю.

Шаг 3

Теперь отсортируйте массив до счета, после чего вы получите желаемый результат.

Вход = [10,0,2,3,0,1,3,0], Выход = [1,2,3,3,10,0,0 ,0]

Полный код:

Надеюсь, вам понравится этот блог. Спасибо, что прочитали это. 😊

Патреон