СеньорДжуниор
СеньорДжуниор
  • Видео 11
  • Просмотров 23 877
Решаем простую задачу в 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 Решаем задачу про ...

Комментарии

  • @multi_proger
    @multi_proger 6 дней назад

    Спасибо! Работа с AmoCRM на Python достаточно редкий и полезный материал

  • @Айти_брат
    @Айти_брат Месяц назад

    большое спасибо)

  • @disgracefulsense7882
    @disgracefulsense7882 6 месяцев назад

    а в чем проблема пройти двумя указателями по O(n)

  • @Scaevula88
    @Scaevula88 8 месяцев назад

    Минимальный же можно проще получать a = len(min(strs, key=len))

  • @BorisenkoV89
    @BorisenkoV89 11 месяцев назад

    Библиотека синхронная?

  • @danapankova4885
    @danapankova4885 11 месяцев назад

    Братское сердце, Подскажи пожалуйста как обновить статус сделки.

  • @TheKirp777
    @TheKirp777 11 месяцев назад

    Если массив состоит из одинаковых чисел, то неправильный ответ выдает. Добавил проверку на равенство target с первым элементом массива. Работает.

  • @turkishjoe9890
    @turkishjoe9890 11 месяцев назад

    А разве не суть задачи в том, что проверочка 2**31 -1 не сработает, так как числа только 32 разрадяные и 2**31 вернет 0(из-за переполнения, я не знаю можно ли питон запустить в режиме 32бит, думаю можно найти какую-нибудь старую версию там это наглядно можно увидеть). Тесты проходят из-за того что под капотом числа 64 битные. Кажется что тут надо проходится по буферу как по строке. Посимвольно конвертировать строку в число(не забывая, что первый знак может быть). И подумать как реализовать проверку. (Не придумаю сходу как лучше, как минимум можно длинную арифметику организовать, но можно эффективнее. Хранить например порядок и какой-нибудт остаток и проверять его со значением 2**31 - 2**30)

    • @turkishjoe9890
      @turkishjoe9890 11 месяцев назад

      Увидел ниже комменатрий про leetcode, ощущение, что надо зарепортить, если пришлете задачу, я буду вам благодарен

  • @ПавелНосов-з8и
    @ПавелНосов-з8и Год назад

    При создании, например, контактов, не пишет дополнительные поля. Работает только при обновлении почему-то.

  • @АнтонТКАЧУК-н5б

    Зачем использовать генераторы это плюс цикл не нужный который при большем наполнении кода наделает беды. Вот решения без: min_len = len(min(strings_list, key=len))

  • @ЛеонидЛипинский-ж4ж

    Спасибо за видео!

  • @helpatch
    @helpatch Год назад

    Макимально нудное видео

    • @seniordjunior
      @seniordjunior Год назад

      Снимите лучше и веселее

    • @oy_shestakov5416
      @oy_shestakov5416 Год назад

      С дивана оно всегда так)) А вы попробуйте сделать что-то интересное хотя бы паре людей! Автору главное не обращать внимание на подобные комментарии!

  • @СухрабКурбаншоев

    Здравствуйте. Рассмотрите пожалуйста возможность заполнять контакты.

  • @vladislavkalachev1961
    @vladislavkalachev1961 Год назад

    спасибо

  • @ВладиславЗахарчук-я3э

    Добрый день, может кто подсказать как фильтер применить?

  • @_Adeptus_Astartes
    @_Adeptus_Astartes Год назад

    ИМХО использовать готовую либу в уроке для новичков это плохо. Новичок вроде как и получит результат, но при этом не поймет как работает oauth, что такое jwt, как происходит работа с api и т.д. Получается что обучаем оператора, а не разработчика..

  • @Ilohimushka
    @Ilohimushka Год назад

    ужас какой конченный сервис непонятный оказывается. немудрено, что американцы впереди планеты всей

  • @Ilohimushka
    @Ilohimushka Год назад

    все российские сервисы конченные, а их апи тем более епта. страна развалится скоро походу

  • @bomzh232
    @bomzh232 Год назад

    Спасибо!!! Очень полезное видео

  • @korkaxleba8356
    @korkaxleba8356 Год назад

    Подскажите. Как фильтровать сделки по воронкам (по id/name) и статусу (id/name)? Запросы типа leads = Lead.objects.filter(name='3к') не проходят, а leads = Lead.objects.filter(query='3к') проходят.

    • @ivankondrashkin
      @ivankondrashkin Год назад

      так как фильр это в альфа версии и его надо просить тп чтоб включили бывает что включают некоторым аккаунтам

  • @НикитаЕршов-л1у

    Подскажи пожалуйста, как создавать сделку в статусе неразобранное?

  • @udalenniye_professii
    @udalenniye_professii Год назад

    А удалось ли разобраться, как сделать, чтобы эти токены обновлялись автоматически?

  • @TheUnderMind
    @TheUnderMind Год назад

    *Круто, спасибо!*

  • @harrys_potter
    @harrys_potter Год назад

    как сделать проценты справа чтобы они стояли в одной точке а прогресс менялся

  • @nurikistileu5162
    @nurikistileu5162 Год назад

    Рад что есть люди как ты, очень помогаете

  • @weyzem
    @weyzem Год назад

    Ты реально не увидел ошибку в "Тестоавая"?

  • @gapchannelAi
    @gapchannelAi Год назад

    Не знаете как написать сообщение админу?? То есть от пользователя (обычного клиента)

  • @slavapetrov6855
    @slavapetrov6855 Год назад

    благодарю за увеличенный шрифт...!

  • @rustamkalamov
    @rustamkalamov Год назад

    Спасибо большое, как раз искал как авторизацию реализовать

  • @peskarr
    @peskarr Год назад

    Спасибо за редкий и полезный туториал. Сумел с ним подключиться к АМО

  • @CrazyWallEater
    @CrazyWallEater Год назад

    Все круто, но при аналогичном решении проходятся только 53 тест из 61 на leetcode. Нужно оптимальнее

  • @itcreative3931
    @itcreative3931 Год назад

    супер пожалуйста болшее уроки по работе amocrm я очень долго искал ))

  • @mr50und
    @mr50und Год назад

    Спасибо! Полезно для старта. Можете подсказать, каким образом можно получить информацию по сделке, включая номер телефона контакта + комментарии в самой сделке? Пытался разобраться, но не могу догнать как именно эти связи можно вытащить. Единственное с чем разобрался - как выводить список тегов по сделке. Может кому поможет: leads = Lead.objects.all() for _ in leads: print(_.created_at, _.price, _., _., _.client_id, _.name) tags = _.tags for j in tags: print (j) #выводит все теги по сделке

  • @perpetuummobile6903
    @perpetuummobile6903 Год назад

    Как будто задача на поиск двух максимумов

    • @seniordjunior
      @seniordjunior Год назад

      Два максимума не гарантирует что между ними будет максимальный объем воды.

  • @МаксимПаркин-ю8ю

    Хорошо объясняешь ;)

  • @funsionxd4589
    @funsionxd4589 Год назад

    Хорошее решение. Но вложенные циклы - это ту бэд в плане оптимизации. Я допускаю, что это намного проще на слух. Но после "простого" можно предложить альтернативу, например способ с двумя указателями. Могу кинуть своё решение в ответы к своему комменту, думаю никому не навредит) (правда решение на расте)

    • @seniordjunior
      @seniordjunior Год назад

      Да, будет круто, и вы правы цикл в цикле это O(n*n), что очень медленно.

  • @АртёмКириченко-ш5х

    Спасибо !! топ всё просто и понятно лайк!🙂

  • @ИванУланов-щ5э
    @ИванУланов-щ5э Год назад

    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)

  • @ThrallBata
    @ThrallBata Год назад

    Моя благодарность автору, то что искал, то и нашел👍

  • @alexh6176
    @alexh6176 Год назад

    наверное регулярными выражениями такое тоже можно сделать

    • @seniordjunior
      @seniordjunior Год назад

      Можно, и даже проще. Но на лайвкодинге обычно такое нельзя использовать.

  • @societedetesteble5796
    @societedetesteble5796 Год назад

    жесть, так медленно печатать и столько ошибок. на слове «ретурн» вообще выключил видео

  • @AviaCentner
    @AviaCentner Год назад

    Для чего нужен прогресс бар который ни к чему не привязан?

    • @seniordjunior
      @seniordjunior Год назад

      Ну потренироваться печатать

  • @AviaCentner
    @AviaCentner Год назад

    Чел ты еле печатаешь какой тебе ютуб

    • @seniordjunior
      @seniordjunior Год назад

      Ну я недавно купил компьютер, учусь пока.

  • @DS-sf3ev
    @DS-sf3ev Год назад

    А можно побольше по джанго? с нуля какое нибудь простое приложение например..

    • @seniordjunior
      @seniordjunior Год назад

      Таких видео на ютубе полно, не понимаю какую я ценность могу дать зрителям.

  • @Appleiwatchname
    @Appleiwatchname Год назад

    Мой вариант следующий, писал до просмотра всего: 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()

  • @Evervess179
    @Evervess179 Год назад

    хех 1ый комент оставил не увидев решения автора ;)

  • @Evervess179
    @Evervess179 Год назад

    Ну для мидл там наверное не хватает условия "Напишите ванлайнер который...." :)

  • @minimus91
    @minimus91 Год назад

    Если правильно понял задачу, это должно сработать: import re def search(needle, haystack): regexp = ".*".join(needle) return re.search(regexp, haystack) != None В условии сказано, что подстрока - это буквы, потому экранировать спецсимволы не нужно. Понимаю, суть задачи, вероятно, в разработке алгоритма, но зачем изобретать велосипед)

    • @seniordjunior
      @seniordjunior Год назад

      Regexp обычно нельзя использовать в таких решениях.

  • @minimus91
    @minimus91 Год назад

    Хотелось бы видеть как ваши решения проходят тесты leetcode, ведь тестовых случаев там значительно больше, решение может быть недостаточно эффективным. Любопытно сравнить производительность вашего кода и прочих сабмитов, а так малость сухо.

    • @seniordjunior
      @seniordjunior Год назад

      Спасибо за комментарий. Какие то решение проходят ближе к началу по скорости, какие то к середине. Совсем медленных нет. Решение и название задач я пишу, можете сами на Литкоде их потестить.

  • @mslq
    @mslq Год назад

    Скачал прогрессбар, спасибо. У меня ещё проблемы с другими виджетами, именно с их размещениями, всё очень нестабильно.