Здравствуйте! Сейчас ходил на собеседование, чтобы попасть на стажировку. Изначально знали что я не знаю Python, а только неделю читаю его.
Решили задать задачи 2. Хотели посмотреть как я их решу.
1) Две стрелки на часах. Одна на 12, другая неизвестно. Между ними 45 градусов. Найти сколько времени.
2) Дана матрица. В ней 4 столбца и 4 строки. Числа уникальные. Предложить алгоритм для нахождения числа 55.
Я что-то неуверенно сказал и собеседование собственно закончили.
И только идя по улице на работу понял что для часов нужно определить углы в 90 градусов, отметить время, потом 45 градусов и потом 15.
А для матрицы можно найти все числа, кратные 5 и вывести наибольшее в диапазоне от 1 до 60. Например.
Что это было?) волнение и потеря мозгов или что? Неуверенные знания? Нет базы? Подскажите что читать по:
1) Алгоритмам
2) По дискретной математике
3) По чему ещё?
а какой ответ на первый вопрос? оО
я вижу только 4 состояния. но ни одно из таких состояний не может существовать же. не может быть 13,5 часов 00 минут или 22,5 часов 00 минут. или 12 часов 7,5 минут или 11 часов 52,5 минуты. потому что нигде стрелка не может быть ровно на 12 часах
Т.к. не может быть такого, чтобы минутная стрелка указывала на 12, а часовая находилась между делениями, то известная стрелка, которая на 12 - есть часовая. Значит, получается 2 состояния (без учета времени суток) 11 ч 52,5 мин и 12 ч 7,5 мин. Если допустить, что часовая стрелка движется каждые 15 минут (а такие часы скорее всего есть), то ответ 12 ч 7,5 мин : D Как вам моя логига, а? а? ))
по моему тут только один вариант ответа - 12:07.
1. Если минутная стрелка будет на 12, то часовая стрелка не может быть где то между часом и двумя она должна четко указывать на одно число. т.о. -2 варианта.
2. При часовой стрелке на 12, 45 градусов от нее это 7,5 минут.
3. При часовой стрелке на 12, и минутной на 52 угол между стрелками будет 315 градусов или -45 градусов.
По первой задаче похожее было в тренировочных собеседованиях хекслета. В данном случае все вообще просто, на 12 может быть либо часовая либо минутная, 45 градусов по часовой и против. Берем часы в руки и отмечаем все 4 ситуации. По второй я не понимаю зачем вы так решаете? Это в любом случае будет хуже чем сравнивать каждый элемент матрицы с 55. В худшем случае будет N(в нашем случае 16) операций. Вы точно сформулировали задачу? По алгоритмам читайте кормена, по дискретной математике Андерсона. Но для этих двух задач не нужно ни того ни другого.
Если во второй задаче стоит цель ускорить поиск, то условие задачи дано не до конца.
Что такое матрица 4 на 4? Можно сперва по столбцам быстро пройтись, и искать 55 уже в конкретной строке, а не всей матрице. Но для этого в условии должно быть, что матрица отсортирована.
Обе задачи были на логику, т.к. у вас просили найти ответы на простые вопросы.
Вы завалили собеседование, т.к. думали о том, как вы его пройдете, а не занимались решением задач.