Решаем тестовое задание на позицию junior python backend разработчик

  Рет қаралды 9,305

 𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞

𝐧𝐞𝐫𝐝𝐢𝐳𝐚𝐲-𝐜𝐨𝐝𝐞

6 ай бұрын

Программирование на python. Тестовое задание.

Пікірлер: 12
@qq-wg3ng
@qq-wg3ng 2 ай бұрын
1. Забудь про insert в лист) Если тебе нужно сделать инсерт, ты что-то делаешь не так, асимптотика вставки O(длина листа). Либо передалай алгоритм, чтобы инсерт тебе был не нужен, либо использую хештаблицы/линкед листы/деревья поиска, в общем то, что подходит для быстрой вставки в рандомный индекс. 2. Возможно, в задачке подразумевалось, что интервалы могут пересекаться, иначе задачка слишком простая выходит. 3. Можешь такие задачки засовывать в какой-нибудь класс, конструктор на входе берет лист, по методу free_intervals возвращает свободные интервалы. Мб кто-то оценит) Я бы посортил вход по левой границе, прошел указателем по массиву и на лету сконструировал свободные интервалы. Крайние случаи: пересечение интервалом точки 00:00 и вложенность одного интервала в другой (если допускаются пересечения), их не сложно обработать. Успехов!
@pslups9086
@pslups9086 21 күн бұрын
вопрос по первому пункту. я не шарю но разве чтобы вставить элемент в какой то индекс в связном списке не нужно для начала пройтись по этому листу до определенного индекса?
@guiterenzog2723
@guiterenzog2723 5 сағат бұрын
​@@pslups9086, да, нужно скопировать в новый массив то, что было до этого элемента, потом добавить элемент, скопировать то, что после элемента, итого получается используется О(n) по времени для обхода списка и O(1) для операции вставки нового
@RANETKA234
@RANETKA234 5 сағат бұрын
2-3 недели обучаюсь программированию. Чето пересечения и вложенности не могу придумать как обработать. Создал функцию на проверку пересечения для 2х списков - на выходе True/False. Понятно, что и при пересечении, и при вложенности надо возвращать одно и тоже (минимальный из первых элементов двух списков и максимальных из вторых элементов). Но как это сделать? Допустим, я начал проверять каждый с каждым (кроме себя и предыдущих). Первый список ни с кем не пересекся - я его добавляю в новый список. Второй пересекся с 3им - добавляю их объединение, а если 3ий потом пересечется с 4ым??? На выходе опять будут пересекающиеся интервалы... Ну, можно ещё раз функцией прогнать - а сколько раз? Рекурсию чтоль жахнуть с остановкой, когда итоговый список вернет сам себя? Вот пока писал комментарий придумал чето)) Сча попробую. UPD. Еле-еле получилось, но работает правильно, только если сквозь 00-00 изначально проходит не больше одного промежутка.
@danielfessow
@danielfessow 2 ай бұрын
Интересное задание. Почему нет прсомотров и комментариев :(
@UchihaItachi-yh5ul
@UchihaItachi-yh5ul Ай бұрын
А что за синтаксис такой? В def стрелка ->
@nerdizay
@nerdizay Ай бұрын
Тайп хинты) -> говорит о том, какого типа данные функция вернёт, в python это что-то вроде фейка, пока что, разве что расширение какое-нибудь для IDE будет подсвечивать некорректное использование типов. Также знаю, что есть mypy, который не позволит запустить программу в случае ошибки, то есть грубо говоря ошибки будут на этапе компиляции а не в runtime
@soyounoob
@soyounoob 2 ай бұрын
А не лучше , чем в цикл в цикле интервалов перебирать, просто на основе листа [[a,b],..,[y,z]] создать лист [[0,a],[b,c],..,[x,y],[z,1440] в одном цикле путем последовательного присвоения, или это дольше работать будет?
@nerdizay
@nerdizay 2 ай бұрын
Не знаю, может и лучше, пока не увидел код, не могу сказать:) Вообще, нет ничего страшного во вложенных for, потому что если мы знаем, что у нас маленький список, например, 5 элементов, и мы пройдемся по нему 2 раза - for for, то будет 25 итераций, а если список будет из 30-ти элементов и мы пройдёмся по нему 1 раз - один for, то итерацией все равно будет больше. На видео внутренний цикл проходит по 2 элементам)
@buhenvaldflava1910
@buhenvaldflava1910 Ай бұрын
Как будто бы халява, но интерсная)
@nerdizay
@nerdizay Ай бұрын
Для меня это загадка, почему людям это задание кажется интересным, а там где второе такое видео за вакансию 150к, где тоже халява, не интересным, тут 3к просмотров, там 50, тут нет превьюхи привлекательной, а там хоть какая-то яркая:)
Михаил Выборный собеседование junior python разработчик
56:37
Don't eat centipede 🪱😂
00:19
Nadir Sailov
Рет қаралды 21 МЛН
Como ela fez isso? 😲
00:12
Los Wagners
Рет қаралды 6 МЛН
Did you find it?! 🤔✨✍️ #funnyart
00:11
Artistomg
Рет қаралды 113 МЛН
Задача из Собеседования на 160,000 Евро в Год
13:27
Саша Лукин
Рет қаралды 1,1 МЛН
ВИЗУАЛИЗАЦИЯ ДАННЫХ. Трейдинг на Python
15:47
Китобойная
Рет қаралды 7 М.
Основы Asyncio
53:25
Python Russian
Рет қаралды 9 М.
Первый Алгоритм Для Изучения в 2024
8:13
Саша Лукин
Рет қаралды 64 М.
C++ Разработчик учит Python
28:01
Winderton
Рет қаралды 472 М.
На iPhone можно фоткать даже ночью😳
0:30
GStore Mobile
Рет қаралды 1,4 МЛН
Приехала Большая Коробка от Anker! А Внутри...
20:09
РасПаковка ДваПаковка
Рет қаралды 69 М.
How about that uh?😎 #sneakers #airpods
0:13
Side Sphere
Рет қаралды 10 МЛН
СЛОМАЛСЯ ПК ЗА 2000$🤬
0:59
Корнеич
Рет қаралды 2,5 МЛН
На iPhone можно фоткать даже ночью😳
0:30
GStore Mobile
Рет қаралды 1,4 МЛН