Напишите программу для перемещения нулей в Python

Задача: Дан массив случайных чисел, переместите все нули в этом массиве в конец массива.

Пример: Дан массив {1, 9, 8, 4, 0, 0, 2, 7, 0, 6, 0}, он становится {1, 9, 8, 4, 2, 7, 6, 0, 0, 0 , 0} после сортировки. Порядок всех остальных элементов такой же.

Ввод: arr() = {1, 2, 0, 4, 3, 0, 5, 0}; Вывод: arr() = {1, 2, 4, 3, 5, 0, 0, 0}; Ввод: arr() = {1, 2, 0, 0, 0, 3, 6}; Вывод: arr() = {1, 2, 3, 6, 0, 0, 0};

В этой статье TipsMake.com поможет вам написать программу для перемещения нулей в Python.

Способ 1: используйте цикл

Переместите массив «arr» слева направо. Во время движения продолжайте проверять наличие ненулевого элемента в массиве. Давайте установим положение ненулевых элементов как «количество». Для каждого элемента, отличного от 0, arr(i), установите для элемента значение «arr(count)» и увеличьте значение «count». Как только перемещение было завершено, все ненулевые элементы были перемещены вперед, а «счетчик» был установлен как индекс первого нуля. Теперь нам нужно запустить цикл для всех нулевых элементов от «count» до конца массива.

Вот пример кода:

# Код Python3 для перемещения всех нулей # в конец массива # Функция, которая помещает все нули # в конец массива. def pushZerosToEnd(arr, n): count = 0 # Подсчет ненулевых элементов # Обходим массив. Если # встречающийся элемент не равен нулю, то # замените элемент с индексом # ‘count’ на этот элемент для i в диапазоне (n): if arr(i) != 0: # здесь число увеличивается arr(count) = arr(i) count+=1 # Теперь все ненулевые элементы были # смещены вперед, а ‘count’ установлен # как индекс первого 0. Сделать все # элементы равными 0 от count до конца. пока считай

Способ 2: разбить массив

Подход этого метода довольно прост. Мы будем использовать 0 в качестве элемента поворота, и всякий раз, когда мы видим ненулевой элемент, мы заменяем его на элемент поворота. В результате в начале появятся ненулевые элементы.

Образец кода:

# Программа Python для перемещения всех нулей в конец A = (5, 6, 0, 4, 6, 0, 9, 0, 8) n = len(A) j = 0 для i в диапазоне (n): если A (i) != 0: A(j), A(i) = A(i), A(j) # Разбиение массива на разделы j += 1 print(A) # Печать массива # Этот код предоставлен Tapesh( тапешдуа420)

Способ 3: Используйте метод для подсчета числа 0

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

После завершения описанного выше процесса мы вернем количество нулей в массив.

Вот пример кода:

# Программа на Python для сдвига всех нулей # в крайнюю правую часть массива # без изменения порядка ненулевых # элементов # Данный список arr = (5, 6, 0, 4, 6, 0, 9, 0, 8) # Хранение все ненулевые значения nonZeroValues ​​= (x вместо x в arr, если x != 0) # Сохранение всех нулей zeroes = (j вместо j в arr, если j == 0) # Обновление ответа arr = nonZeroValues ​​+ zeroes # Печать ответа print («Mảng sau khi di chuyển toàn bộ số 0 về cuối là:» + обр.)

TipsMake.com надеемся, что эта статья будет вам полезна!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *