Задача для junior-разработчика с решением и разбором прямиком из задания на собеседовании
Каждый, кто обучается программированию, периодически возвращается к мысли о предстоящих собеседованиях при поиске первой работы по вновь приобретенной профессии.
Полезно больше не думать об этом, а изучать информацию о том, как это в действительности происходит.
Тем самым можно не только повысить свой уровень знаний, но и придать себе уверенности, что впереди не ждет нечто вроде судилища, а это будет вполне понятная проверка квалификации.
Изображение Robert Hundley с сайта Pixabay
Задача, разобранная в сегодняшнем посте, не является сложной. Тут HR-специалист больше смотрит на логику и оптимизацию процесса решения.
И естественно, задачу решить можно множеством способов, однако тот, что будет приведен ниже читабельнее, короче, и расходует меньше памяти устройства.
И так, задача:
Дан случайный список. Необходимо проверить его на наличие дубликатов.
И всего-то!
Покажу решение, а уже после прокомментирую логику алгоритма, если в этом останется необходимость.
Решение:
Изображение автора
Пояснения:
В решении этой задачи использовано свойство коллекции set (множества), в которой все хранящиеся элементы уникальны.
В функции duplicate_search мы изначально при помощи функции len() подсчитываем количество элементов в переданном в функцию списке и присваиваем полученное значение переменной num.
Затем считаем количество элементов, которые содержатся во множестве, полученном после преобразования во множество переданного списка.
Полученное число передаем в переменную num1.
Возвращает функция значения логического типа:
* True, если num равно num1, что означает, что количество элементов списка и множества одинаково и дубликатов в списке нет;
* False, num не равно num1, соответственно при преобразовании во множество были удалены дубликаты, которые изначально содержались в цикле.
В основном коде мы проверяем значение, которое возвращает функция с переданным в нее списком и, в зависимости от результата, выводим нужное сообщение.
(Изображение itay verchik с сайта Pixabay)
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Нет комментариев