![СеньорДжуниор](/img/default-banner.jpg)
- Видео 11
- Просмотров 23 877
СеньорДжуниор
Добавлен 10 дек 2022
Привет, рад приветствовать вас на своем канале, о чем этот канал:
• Программирование на Python
• Подготовка к собеседованиям
• Разбор алгоритмических задачек
• Разработка приложений Django
Подписывайтесь на ТГ: t.me/seniordjunior
• Программирование на Python
• Подготовка к собеседованиям
• Разбор алгоритмических задачек
• Разработка приложений Django
Подписывайтесь на ТГ: t.me/seniordjunior
Решаем простую задачу в LeetCode на Python. Готовимся к собеседованию Python Junior.
В этом видео на Python мы решаем простую задачу из LeetCode, чтобы помочь вам подготовиться к собеседованию на вакансию Python Junior. Задача называется Аквариум, в ней нам нужно найти, какие две стенки образуют максимальный объем воды.
Задача заключается в написании функции, которая принимает на вход список целых чисел, который обозначают высоты стенок и возвращает индексы двух элементов, которые в сумме дают заданную целевую сумму.
В видео мы начинаем с написания простого решения, используя два вложенных цикла, чтобы перебрать все возможные пары элементов и проверить и узнать объемы нашего аквариума.
Задача заключается в написании функции, которая принимает на вход список целых чисел, который обозначают высоты стенок и возвращает индексы двух элементов, которые в сумме дают заданную целевую сумму.
В видео мы начинаем с написания простого решения, используя два вложенных цикла, чтобы перебрать все возможные пары элементов и проверить и узнать объемы нашего аквариума.
Просмотров: 423
Видео
Интеграция AmoCRM и Python. Авторизация, интеграция, токены, amocrm-api
Просмотров 8 тыс.Год назад
AmoCRM это мощная, стильная и популярная система взаимодействия бизнеса с клиентами. В этом видео будем делать базовую интеграцию проекта на Python и AmoCrm. Для начала мы научимся создавать приватные интеграции, генерировать токены, а так же принимать и получать данные из системы. Ссылка на библиотеку: pypi.org/project/amocrm-api/
Получаем погоду в Django из OpenWeatherMap | PyOWM за 10 минут | Как работать с погодой на Python
Просмотров 2 тыс.Год назад
В этой задаче мы сделаем получение погоды в Django проект через библиотеку PyOWM и API ключ OpenWeatherMap. Библиотека для Python: pypi.org/project/pyowm/ Сервис для получения погоды: openweathermap.org/ Подписывайтесь на телеграмм канал: t.me/seniordjunior
Решаем Еasy задачу на бинарный поиск с LeetCode на Python. Задача из собеседования на Junior Python.
Просмотров 953Год назад
Задача: "найти место для вставки" В функцию searchInsert передается отсортированный массив целых положительных чисел nums. А так же мы получаем искомое целое положительное число target. Найти индекс, на котором находится наше число. Если в нашем массиве такого числа нет, то вернуть индекс, где бы это число могло бы быть Важное замечание: алгоритм должен работать со скоростью O(log n) Оригинал з...
Решаем LeetCode задачу на Python. Задача на работу со строками Longest Common Prefix.
Просмотров 1,9 тыс.2 года назад
Сегодня мы будем решать задачу на строки и алгоритмы с сайта Leetcode, как всегда, для этого будем использовать Python. Подписывайтесь на канал, ставьте лайки и пишите комментарии под видео. Если у вас есть иные решения задачи, добро пожаловать в комментарии. Оригинальное описание задачи (Longest Common Prefix): Companies Write a function to find the longest common prefix string amongst an arra...
Решаем Middle задачу в LeetCode на Python. Задача из собеседования на Middle Python.
Просмотров 2,2 тыс.2 года назад
В этом видео мы будем решать простую задачу с сайта Leetcode на алгоритмы и работу со строками и числами, как всегда, для этого будем использовать Python. Подписывайтесь на канал, ставьте лайки и пишите комментарии под видео. Если у вас есть иные решения задачи, добро пожаловать в комментарии. Задача: Получив 32-битное целое число X, верните X с инвертированными цифрами. Если изменение x привод...
Делаем облако тегов на Python. Решение задач для начинающих в реальном времени #5
Просмотров 6312 года назад
В этом видео будем решать интересную задачу на составление "облака тегов" на основе произвольного текста. Для начала мы проанализируем задачу, сделаем небольшое ТЗ и начнем писать. Если вы учитесь программировать, рекомендую повторять решение вместе с видео. А если у вас возникли вопросы или сложности, можете написать вопрос в комментариях к видео или в телеграмм канале. Ссылка на гит: github.c...
Поиск строки в подстроке. Лайвкодинг #4. Задача из собеседования на зарплату 250000р.
Просмотров 1,8 тыс.2 года назад
Привет друзья. В этом видео я опять буду немножко лайвкодить на Python. В нон-стоп формате мы будем решать задачу, которая была на собеседовании на мидл разработчика в один крупный "зеленый банк". Приятного просмотра. Ссылка на гит: github.com/daskodex/dp/tree/main/live_coding_4 Подписывайтесь на телеграмм канал: t.me/seniordjunior
Делаем Progress Bar на Python. Решение задач для начинающих в реальном времени #3
Просмотров 4,1 тыс.2 года назад
В этом видео я буду немножко лайвкодить на Python. В нон-стоп формате мы напишем функцию, которая будет рисовать в консоль Прогресс Бар. Это довольно важная штука для некоторых задач, например разные парсеры, тестеры на Selenium и прочие скрипты, которые используют длинные паузы. Писать самим очевидные вещи, тип такого прогресс бара, функций сортировки, это интересная и полезная практика, для н...
Рисуем пиксельную елочку. Решение задач по программированию на Python. Работа с консоль.
Просмотров 1 тыс.2 года назад
В этом видео в режиме лайв будем решать простую задачку в Новому Году и Рождеству. А именно будет рисовать пиксельную елку. Ссылка с проектом на github: github.com/daskodex/dp/tree/main/live_coding_2
Пишем скрипт конкурса-розыгрыша призов. Решение задач Python для начинающих.
Просмотров 8232 года назад
В этом видео мы в режиме турбо-лайвкодинга будем решать простую задачу на Python. Мы посмотрим как декомпозировать задачу, считывать данные из файла. Работу со списками, циклами и выводом информации на экран. Тайминги: 00:00 Начало видео по лайв-кодинг 00:40 Читаю текст задания 01:00 Создаем файл со списком людей 01:41 Читаем и разбираем задания 04:40 Начинам писать код 05:15 Решаем задачу про ...
Спасибо! Работа с AmoCRM на Python достаточно редкий и полезный материал
большое спасибо)
а в чем проблема пройти двумя указателями по O(n)
Минимальный же можно проще получать a = len(min(strs, key=len))
Библиотека синхронная?
Братское сердце, Подскажи пожалуйста как обновить статус сделки.
Если массив состоит из одинаковых чисел, то неправильный ответ выдает. Добавил проверку на равенство target с первым элементом массива. Работает.
А разве не суть задачи в том, что проверочка 2**31 -1 не сработает, так как числа только 32 разрадяные и 2**31 вернет 0(из-за переполнения, я не знаю можно ли питон запустить в режиме 32бит, думаю можно найти какую-нибудь старую версию там это наглядно можно увидеть). Тесты проходят из-за того что под капотом числа 64 битные. Кажется что тут надо проходится по буферу как по строке. Посимвольно конвертировать строку в число(не забывая, что первый знак может быть). И подумать как реализовать проверку. (Не придумаю сходу как лучше, как минимум можно длинную арифметику организовать, но можно эффективнее. Хранить например порядок и какой-нибудт остаток и проверять его со значением 2**31 - 2**30)
Увидел ниже комменатрий про leetcode, ощущение, что надо зарепортить, если пришлете задачу, я буду вам благодарен
При создании, например, контактов, не пишет дополнительные поля. Работает только при обновлении почему-то.
Зачем использовать генераторы это плюс цикл не нужный который при большем наполнении кода наделает беды. Вот решения без: min_len = len(min(strings_list, key=len))
Спасибо за видео!
Макимально нудное видео
Снимите лучше и веселее
С дивана оно всегда так)) А вы попробуйте сделать что-то интересное хотя бы паре людей! Автору главное не обращать внимание на подобные комментарии!
Здравствуйте. Рассмотрите пожалуйста возможность заполнять контакты.
спасибо
Добрый день, может кто подсказать как фильтер применить?
ИМХО использовать готовую либу в уроке для новичков это плохо. Новичок вроде как и получит результат, но при этом не поймет как работает oauth, что такое jwt, как происходит работа с api и т.д. Получается что обучаем оператора, а не разработчика..
ужас какой конченный сервис непонятный оказывается. немудрено, что американцы впереди планеты всей
все российские сервисы конченные, а их апи тем более епта. страна развалится скоро походу
Спасибо!!! Очень полезное видео
Подскажите. Как фильтровать сделки по воронкам (по id/name) и статусу (id/name)? Запросы типа leads = Lead.objects.filter(name='3к') не проходят, а leads = Lead.objects.filter(query='3к') проходят.
так как фильр это в альфа версии и его надо просить тп чтоб включили бывает что включают некоторым аккаунтам
Подскажи пожалуйста, как создавать сделку в статусе неразобранное?
А удалось ли разобраться, как сделать, чтобы эти токены обновлялись автоматически?
*Круто, спасибо!*
как сделать проценты справа чтобы они стояли в одной точке а прогресс менялся
Рад что есть люди как ты, очень помогаете
Ты реально не увидел ошибку в "Тестоавая"?
Не знаете как написать сообщение админу?? То есть от пользователя (обычного клиента)
благодарю за увеличенный шрифт...!
Спасибо большое, как раз искал как авторизацию реализовать
Спасибо за редкий и полезный туториал. Сумел с ним подключиться к АМО
Круто
Все круто, но при аналогичном решении проходятся только 53 тест из 61 на leetcode. Нужно оптимальнее
супер пожалуйста болшее уроки по работе amocrm я очень долго искал ))
Спасибо! Полезно для старта. Можете подсказать, каким образом можно получить информацию по сделке, включая номер телефона контакта + комментарии в самой сделке? Пытался разобраться, но не могу догнать как именно эти связи можно вытащить. Единственное с чем разобрался - как выводить список тегов по сделке. Может кому поможет: leads = Lead.objects.all() for _ in leads: print(_.created_at, _.price, _., _., _.client_id, _.name) tags = _.tags for j in tags: print (j) #выводит все теги по сделке
Как будто задача на поиск двух максимумов
Два максимума не гарантирует что между ними будет максимальный объем воды.
Хорошо объясняешь ;)
Хорошее решение. Но вложенные циклы - это ту бэд в плане оптимизации. Я допускаю, что это намного проще на слух. Но после "простого" можно предложить альтернативу, например способ с двумя указателями. Могу кинуть своё решение в ответы к своему комменту, думаю никому не навредит) (правда решение на расте)
Да, будет круто, и вы правы цикл в цикле это O(n*n), что очень медленно.
Спасибо !! топ всё просто и понятно лайк!🙂
Спасибо и вам
def find_string(sub_str: str, main_str: str) -> bool: indexes_sub_str = list(map(lambda symbol: main_str.find(symbol), sub_str)) if -1 in indexes_sub_str: return False return indexes_sub_str == sorted(indexes_sub_str)
Моя благодарность автору, то что искал, то и нашел👍
наверное регулярными выражениями такое тоже можно сделать
Можно, и даже проще. Но на лайвкодинге обычно такое нельзя использовать.
жесть, так медленно печатать и столько ошибок. на слове «ретурн» вообще выключил видео
Для чего нужен прогресс бар который ни к чему не привязан?
Ну потренироваться печатать
Чел ты еле печатаешь какой тебе ютуб
Ну я недавно купил компьютер, учусь пока.
А можно побольше по джанго? с нуля какое нибудь простое приложение например..
Таких видео на ютубе полно, не понимаю какую я ценность могу дать зрителям.
Мой вариант следующий, писал до просмотра всего: def check_contains_two_str(one_str: str, two_str: str) -> list | None: if len(one_str) > len(two_str): return index_elem = list() for s in one_str: if two_str.find(s) != -1: index_elem.append(two_str.index(s)) else: continue if len(one_str) == len(index_elem): return index_elem return def is_list_sorted(elements: list) -> str: results = {1: 'Order is correct', 0: 'Order dont correct'} try: return results.get((elements == sorted(elements)), 'Other') except TypeError: return 'Dont correct input data' def main(): one_str = 'abeg' two_str = 'hjjgaaccckfghbbjgee' elements = check_contains_two_str(one_str, two_str) print(is_list_sorted(elements)) if __name__ == "__main__": main()
хех 1ый комент оставил не увидев решения автора ;)
Ну для мидл там наверное не хватает условия "Напишите ванлайнер который...." :)
Если правильно понял задачу, это должно сработать: import re def search(needle, haystack): regexp = ".*".join(needle) return re.search(regexp, haystack) != None В условии сказано, что подстрока - это буквы, потому экранировать спецсимволы не нужно. Понимаю, суть задачи, вероятно, в разработке алгоритма, но зачем изобретать велосипед)
Regexp обычно нельзя использовать в таких решениях.
Хотелось бы видеть как ваши решения проходят тесты leetcode, ведь тестовых случаев там значительно больше, решение может быть недостаточно эффективным. Любопытно сравнить производительность вашего кода и прочих сабмитов, а так малость сухо.
Спасибо за комментарий. Какие то решение проходят ближе к началу по скорости, какие то к середине. Совсем медленных нет. Решение и название задач я пишу, можете сами на Литкоде их потестить.
Скачал прогрессбар, спасибо. У меня ещё проблемы с другими виджетами, именно с их размещениями, всё очень нестабильно.
Напишите свои :)