MikeM: Первый проход - подсчёт единиц, двоек и троек, второй проход - заполнение "отсортированного" массива нужным количеством нужных чисел
Да )) бедные кандидаты зашореные предыдушими вопросами по сортировке чего только не вытворяют на потеху публике, и пузырьком, и вставками, и всякими комбинациями с исключениями
GaryKa: Да )) бедные кандидаты зашореные предыдушими вопросами по сортировке чего только не вытворяют на потеху публике, и пузырьком, и выборкой, и всякими комбинациями с исключениями
Всё что нужно - не сложно. Всё, что сложно - не нужно!
Про часы:
через 4 минуты после старта переворачиваем 4-минутные
после переворачивания в 4-минутных 4 мин., в 7-минутных 3 мин.
ещё через 3 минуты
в 4-минутных 1 мин, в 7-минутных - 0
переворачиваем 7-минутные
в 4-минутных 1 мин, в 7-минутных - 7
ещё через минуту
в 4-минутных 0, в 7-минутных - 6
переворачиваем 7-минутные
в 4-минутных 0, в 7-минутных - 1
ещё через минуту - нужное время!
Подкину задачку.
Боян конечно, но на собеседованиях как апофеоз знаний на сортировку массивов катит ))
Итак, задача на сортировку
есть масив из N ячеек, в котором в произвольном порядке размещены единицы, двойки и тройки.
Построить самый оптимальный алгоритм сортировки.
Т.е. только 3 варианта данных?
Первый проход: считаем сколько единиц, сколько двоек и сколько троек.
Второй проход: заполняем.
Итого 2 прохода.
Первый проход - подсчёт единиц, двоек и троек, второй проход - заполнение "отсортированного" массива нужным количеством нужных чисел
Да )) бедные кандидаты зашореные предыдушими вопросами по сортировке чего только не вытворяют на потеху публике, и пузырьком, и выборкой, и всякими комбинациями с исключениями
Простенький (для программистов) вопрос:
A+B=...
Т.е. только 3 варианта данных?
Первый проход: считаем сколько единиц, сколько двоек и сколько троек.
Второй проход: заполняем.
Итого 2 прохода.
В один проход:
Создаем пустую копию массива такого же размера, инициализируем его двойками.
Идем с начала массива. Встретили 1 - пишем в копию, начиная с начала, встретили 3 - пишем в копию, начиная с конца.