|
0 / 0 / 0
Регистрация: 14.07.2018
Сообщений: 23
|
|
“Сжать” список, переместив все ненулевые элементы в левую часть списка, не меняя их порядок, а все нули - в правую часть26.07.2018, 00:20. Показов 49212. Ответов 51
Метки нет (Все метки)
Дан список целых чисел. Требуется “сжать” его, переместив все ненулевые элементы в левую часть списка, не меняя их порядок, а все нули - в правую часть. Порядок ненулевых элементов изменять нельзя, дополнительный список использовать нельзя, задачу нужно выполнить за один проход по списку. Распечатайте полученный список.
Входные данные Вводится список чисел. Все числа списка находятся на одной строке. Выходные данные Выведите ответ на задачу. Примеры входные данные 4 0 5 0 3 0 0 5 выходные данные 4 5 3 5 0 0 0 0
0
|
|
| 26.07.2018, 00:20 | |
|
Ответы с готовыми решениями:
51
Сжать массив, переместив все ненулевые элементы в левую часть списка, а все нули-в правую часть
Если длина списка нечетна, построить список, поменяв местами левую и правую часть списка |
|
Просто Лис
|
||||||
| 26.07.2018, 06:39 | ||||||
0
|
||||||
|
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
|
||||||
| 26.07.2018, 12:52 | ||||||
|
Рыжий Лис, у вас два дополнительных списка
0
|
||||||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
||||||
| 26.07.2018, 13:30 | ||||||
Сообщение было отмечено Рыжий Лис как решение
Решение
в цикле с индексами не рекомендуется менять массив
2
|
||||||
|
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
|
||
| 26.07.2018, 13:45 | ||
но только элементы надо тип int с str элементами не проходит (это автору топика для понимания)
0
|
||
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
||||||
| 26.07.2018, 14:12 | ||||||
|
с генератором
1
|
||||||
|
1 / 1 / 0
Регистрация: 29.06.2020
Сообщений: 19
|
||||||
| 05.08.2020, 22:48 | ||||||
|
Добавлено через 3 минуты
0
|
||||||
|
|
||
| 05.08.2020, 23:56 | ||
|
0
|
||
| 06.08.2020, 08:16 | ||
|
vic5710, Списковое включение, которое некоторые называют генератором списка создает новый список. Но в условии говорится, что
Добавлено через 32 минуты Именно такой алгоритм реализовал Semen-Semenich. Поэтому из предложенных решений только его будет правильным, если в его коде, как он ниже упомянул, при вводе преобразовать строки с числами в числа. Добавлено через 3 минуты И сравнивать с нулем а не со строкой '0'.
0
|
||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
|
| 06.08.2020, 08:21 | |
|
Viktorrus, вариант vic5710 с сортировкой не создает новый список.
0
|
|
| 06.08.2020, 09:11 | |||||||||||||||||
|
lookatthis, Вот код, который написал Semen-Semenich, и подправленный в соответствии с его замечанием.
ioprst, Вы правы, просто я принял за его решение код с "генератором", а с сортировкой не воспринял. ![]() lookatthis, С сортировкой у vic5710, самое лучшее решение, так как самое быстрое. Добавлено через 6 минут Только там нужно заменить первую строку для ввода с клавиатуры, как в условии
lookatthis, Если в коде vic5710, заменить первую строку и преобразовать интерактивный код, который у него, в программу, то получится
0
|
|||||||||||||||||
| 06.08.2020, 09:29 | ||||||
|
DmFat, Я хотел в одну строчку, но формальным объединением не получилось
![]() Добавлено через 4 минуты Я вообще не специалист в компактных кодах. Привык писать программы в развернутом виде, для меня они более понятные.
0
|
||||||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
||||||
| 06.08.2020, 09:29 | ||||||
|
Viktorrus, list.sort возвращает None. =>
0
|
||||||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
|
| 06.08.2020, 09:31 | |
|
DmFat, разве sorted не вернет новый объект? (противоречит заданию)
0
|
|
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
|
| 06.08.2020, 09:33 | |
|
0
|
|
| 06.08.2020, 09:33 | |
|
DmFat, Вы смогли загнать все в одну строку, потому что вместо метода сортировки использовали функцию сортировки. Я до этого не догадался.
0
|
|
| 06.08.2020, 09:33 | |
|
Помогаю со студенческими работами здесь
20
Задан массив, содержащий несколько нулевых элементов. Требуется "сжать" его, переместив нулевые элементы в правую часть Перенести все числа больше нуля в правую часть массива, остальные в левую
Перенести все нулевые элементы в правую часть матрицы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|