Решаем задачи с LeetCode. Программирование на Python. Алгоритмическая качалка с Валерой Петровым

Поділитися
Вставка
  • Опубліковано 28 кві 2022
  • Валера каждый раз пробует что-то новое. В третьем выпуске он решил поэкспериментировать с Python. Задачка простая, поэтому выпуск получился коротким, но интересным. Если у тебя есть решение элегантнее и интереснее, то пиши его в комментарии.
    Ссылка LeetCode: leetcode.com/problems/find-al...
    Вакансия Python-разработчик: clck.ru/37EWZx
    Вакансия Системный аналитик: clck.ru/37EWcZ
    Вакансия Бизнес аналитик: clck.ru/37EWfD
    Так что обязательно подписывайтесь.
    Актуальные вакансии: career.technokratos.com/
    Telegram: t.me/technokratos
    ВКонтакте: technokratos
    #LeetCode #Python #Code #Программирование #Алгоритмы

КОМЕНТАРІ • 21

  • @technokratosTV
    @technokratosTV  5 місяців тому

    🔥Нанимаем разработчиков и аналитиков на классный проект:
    Вакансия Python-разработчик: clck.ru/37EWZx
    Вакансия Системный аналитик: clck.ru/37EWcZ
    Вакансия Бизнес аналитик: clck.ru/37EWfD

  • @denvemu
    @denvemu 10 місяців тому +1

    прикольное видео, все прекрасно объяснил, часто смотрю решение задач на Leetcode за едой)

  • @denisvlaznev
    @denisvlaznev Рік тому +6

    Второе решение (с множеством) не соответствует критериям (без доп. памяти). Когда вы создали множество disappearedNums, вы использовали память под хэш-таблицу (грубо можно сказать O(n) ). Потом, когда при возврате результата вы преобразуете множество в список, вы используете память под список (т.е. еще O(n) ).
    По памяти на самом деле второе решение даже хуже первого, ибо множество требует больше памяти, чем список.

  • @funnyduck6326
    @funnyduck6326 2 роки тому +4

    Спасибо за видео, мне нравится смотреть ваши решения и будто получаю какие то тайные знания)

  • @user-vz6ej1yk8q
    @user-vz6ej1yk8q Рік тому +9

    set(range(1, len(nums) + 1)) - set(nums)

    • @cristianglodeanu2329
      @cristianglodeanu2329 Рік тому

      return list(set(range(1,len(nums)+1))-set(nums)) так же решил

    • @namesurname638
      @namesurname638 Рік тому

      Почему вы именно в set обернули ?

    • @user-xy2jm7zt5u
      @user-xy2jm7zt5u Рік тому

      ​@@namesurname638т.к. в множествах есть вычитание друг из друга.

    • @HooniganNFS
      @HooniganNFS 2 місяці тому

      ​@@namesurname638,чтобы не учитывать копии чисел ,так будет проще определить диапазон

  • @sungyaraboy4113
    @sungyaraboy4113 Рік тому

    я не могу найти задачи для питона, там нету фильтров

  • @user-xb8di5ft4g
    @user-xb8di5ft4g 7 місяців тому

    return [i for i in range(1, len(nums) + 1) if i not in set(nums)]

  • @maxsimus195
    @maxsimus195 Рік тому +3

    Последнее решение не так хорошо оптимизировано как первое. Плюс по времени хуже и по памяти так же(как в первом). Зачем тогда заливать этот отрывок? Без негатива, просто опешил....

  • @user-bb6cs6wk6y
    @user-bb6cs6wk6y Рік тому +1

    1 задача через словарь ,
    a=dict()
    If i in a:
    a[I]+=1
    Else:
    a[I]=1
    И потом for k,v in a.items():
    If v==0:
    print(k)

  • @krakenlex4704
    @krakenlex4704 Рік тому

    если решение быстрее 97% пользователей, но затраченной памяти больше чем у 95% пользователей, это хорошо или плохо?)

    • @user-qc4jf6hd4s
      @user-qc4jf6hd4s Рік тому +1

      Для разных ситуаций может быть по разному 🙂

    • @izrailmoiseevic2844
      @izrailmoiseevic2844 Рік тому +3

      Зависит от страны где вы пишете код.
      Если вы в Индии то это очень хорошо и вы приняты на работу.
      если вы в Америке то это очень плохо и вы уволены :D

  • @dizznet
    @dizznet Рік тому +3

    Код новичка: 👻
    custom = [4,3,1,2,8,7]
    output = []
    for i in range(1, max(custom)+1):
    if i not in custom:
    output.append(i)
    print(output)

    • @virnage9759
      @virnage9759 8 місяців тому

      это сколько ты python учил в тот момент?

    • @dizznet
      @dizznet 8 місяців тому

      неделю@@virnage9759

    • @soft_maker
      @soft_maker 6 місяців тому

      Ты считаешь это плохим решением?@@virnage9759

  • @user-vq6wm7gw2d
    @user-vq6wm7gw2d 9 місяців тому

    def find_disappeared_numbers(arr):
    num_dict = {}
    result = []
    for num in arr:
    num_dict[num] = True
    for i in range(1, len(arr) + 1):
    if i not in num_dict:
    result.append(i)
    return result