WolfCode
WolfCode
  • 22
  • 341 567
Пишем мененджер серверов для Counter Strike 1.6
#counterstrike #cs16 #java #scala #bot #telegram
В этом видео мы пишем ядро бота для создания временных серверов counter strike 1.6
Ссылка на полный проект: github.com/WolfCode1/playcs
Ссылка на бота: t.me/playcs_bot
มุมมอง: 1 105

วีดีโอ

Непобедимый бот в крестики нолики
มุมมอง 4.3Kปีที่แล้ว
В данном видео мы пишем ауф код, в котором доказываем что крестики нолики это честная игра и пишем непобедимого бота Ссылка на бота: t.me/benbenderbot (@benbenderbot) Другие видео где я реализовывал подход из данного ролика th-cam.com/video/hUdj6mWqlZA/w-d-xo.html th-cam.com/video/s739PHlFB44/w-d-xo.html #scala #programming #tictactoe #backtrack #telegram #bot #telegrambot #algorithm
Монада - простое объяснение
มุมมอง 13K2 ปีที่แล้ว
В данном видео я попытался перевести видео с канала computerphile th-cam.com/video/t1e8gqXLbsU/w-d-xo.html Библиотеки на скала для работы с монадами: typelevel.org/cats github.com/zio/zio docs.tofu.tf/docs/start #программирование #монада #monad #scala #фп
Решаем очень занимательную школьную задачу
มุมมอง 4.7K2 ปีที่แล้ว
Ссылка на мое решение (scala): gist.github.com/oybek/41d9d4b3cd6d3acf094aeb692c55305b Решение пользователя @Nabokka (160 строк - зверь конечно) (python): github.com/Zanzibarra/solutions_small_problems/blob/master/braces.py #программирование #backtracking #reverse_polish_notation #scala #алгоритмы
Всегда ли надо писать рекурсии в ФП?
มุมมอง 3.1K3 ปีที่แล้ว
#функциональное_программирование #scala #foldLeft #коллекции #программирование Ребят прошу прощения за уебанское объяснение функции FoldLeft - проще просто внимательнее рассмотреть схему и станет все понятно
Популярная в собеседованиях гугл задача. Разбор и решение
มุมมอง 14K3 ปีที่แล้ว
Решаем самую частую в собеседованиях гугл задачу по версии leetcode.com Ссылка на задачу: leetcode.com/problems/guess-the-word/ Ссылка на код решения: gist.github.com/oybek/6f968e97b0274abaeb498b1780a92bd5 #программирование #scala #рекурсия #google #собеседование #алгоритмы
Как Архимед число ПИ считал
มุมมอง 7K3 ปีที่แล้ว
Как Архимед считал число ПИ #scala #математика #программирование #фп
Простые числа не так просты - ищем 10001-е простое число
มุมมอง 5K3 ปีที่แล้ว
Простые числа не так просты - ищем 10001-е простое число #алгоритмы #числа #scala #программирование #фп
Решаем задачу о 8ми ферзях на языке скала, функциональное программирование
มุมมอง 8K3 ปีที่แล้ว
В данном видео мы решаем очень популярную задачу о 8ми ферзях при помощи функционального программирования на языке скала #программирование #scala #фп #функциональное_программирование #алгоритмы #шахматы
Ломаем решение из собеседования в Яндекс - пишем хвостовую рекурсию
มุมมอง 42K3 ปีที่แล้ว
В прошлом видео мы написали рекурсивное решение задачи из собеседования в Яндекс В этом видео мы его сломаем, затем напишем улучшенную версию с хвостовой рекурсией. Так же посмотрим на то в какой байткод компилируется обычная и хвостовая рекурсии и поговорим немного о внутренности JVM Как всегда код пишем на языке скала в функциональном стиле #Яндекс #Алгоритмы #Программирование
Вторая задача с первого собеседования в Яндекс
มุมมอง 30K3 ปีที่แล้ว
#Программирование #Яндекс #Деревья #Алгоритмы
Первая задача из первого собеседования в Яндекс
มุมมอง 170K3 ปีที่แล้ว
Первая задача из первого собеседования в Яндекс
Слабости быстрой сортировки, а так же их устранение
มุมมอง 3.7K3 ปีที่แล้ว
Слабости быстрой сортировки, а так же их устранение
Сортировка слиянием (merge sort) - понятное объяснение и очень простая реализация
มุมมอง 14K3 ปีที่แล้ว
Сортировка слиянием (merge sort) - понятное объяснение и очень простая реализация
Быстрая сортировка - простое объяснение и реализация
มุมมอง 8K3 ปีที่แล้ว
Быстрая сортировка - простое объяснение и реализация
Как превратить грязный код в чистый
มุมมอง 2.2K3 ปีที่แล้ว
Как превратить грязный код в чистый
Программируем без мутабельных переменных
มุมมอง 7K3 ปีที่แล้ว
Программируем без мутабельных переменных
Понятие ссылочной прозрачности или почему переменные это плохо?
มุมมอง 3.3K3 ปีที่แล้ว
Понятие ссылочной прозрачности или почему переменные это плохо?

ความคิดเห็น

  • @gaus563
    @gaus563 หลายเดือนก่อน

    Мужик ты внатуре, «ща я по простому расскажу» , а потом сидишь и « да да понял»

  • @pablo2100
    @pablo2100 หลายเดือนก่อน

    Нихуя не понял. "До тех пор, пока массив не отсортируется" - как мы об этом узнаем, что массив отсортировался? Видео называется "простое объяснение", но тут похоже нужно уже знать, как работает алгоритм, чтобы понять, что говорит автор. Прямо как учебник по матанализу с нуля, написанный исходя из предположения что ты уже знаешь матанализ

  • @yuriydeynekin4532
    @yuriydeynekin4532 2 หลายเดือนก่อน

    Есть красивый способ вычисления π с точностью 6 знаков. Берём число 113355, режем его посередине и делим второе на первое: 355/113. В том, что это всё слепили из первых нечётных чисел, взятых по два раза, никакой теории нет, но как очень удобное правило для запоминания, прекрасно подходит. А теперь вопрос. Традиционно длину окружности вычисляют как предел периметра вписанных в неё ПРАВИЛЬНЫХ многоугольников. При этом явно используется как раз правильность многоугольников (см. текст программы в ролике). Но для корректности следует ещё показать, что результат не изменится, если многоугольники будут произвольными - лишь бы их максимальная сторона стремилась к нулю. Заранее нельзя быть уверенным, что, рассматривая многоугольники другого класса, мы не получим другое предельное значение периметра - т.е. другое значение для "числа π". К сожалению, этот момент упускают из виду.

  • @legac1x955
    @legac1x955 3 หลายเดือนก่อน

    Привет, я еще совсем новичек в программировании, но считался бы этот черезчур простой код ответом на эту задачу? from collections import Counter a = [9,1,2,7,5,1,7,9,2] b = [key for key,value in Counter(a).items() if value == 1] print(*b)

  • @belokonov3010
    @belokonov3010 3 หลายเดือนก่อน

    Можешь пожалуйста сделать тоже самое, только для крестиков ноликов 5 на 5, а не 3 на 3🙏🙏🙏

  • @такпросто-ж2п
    @такпросто-ж2п 5 หลายเดือนก่อน

    Смотрю, вроде питон, но нифига не понимаю

    • @wolf_code
      @wolf_code 5 หลายเดือนก่อน

      это scala)

  • @kirylklimuk4816
    @kirylklimuk4816 6 หลายเดือนก่อน

    Так а на самом собесе вы никак с собеседующим не обговаривали эту ситуацию? Или там было достаточно написать то что в первом видосе?

  • @jurasan2828
    @jurasan2828 6 หลายเดือนก่อน

    Архимед не оперировал алгебраическими методами, а только геометрическими. Понятие интеграл и предел тогда тоже не существовали. И нашел АРХИМЕД 22/7 не более

  • @lanakramoleb
    @lanakramoleb 6 หลายเดือนก่อน

    Это самое ужасное, что я видел по этому поводу!

    • @wolf_code
      @wolf_code 6 หลายเดือนก่อน

      Трудно не согласиться, мне материал вообще не зашел - долго решался публиковать

  • @stepandemin5836
    @stepandemin5836 7 หลายเดือนก่อน

    Ничего подобного: в яндексе просьба о помощи насцениваеться как подсказка и идёт в минус

  • @padla6304
    @padla6304 7 หลายเดือนก่อน

    а потом пришёл товарищ Гаусс и сказал что всё считается не так)))

  • @displayname670
    @displayname670 8 หลายเดือนก่อน

    Ерм... Ну вообще-то.. число π - трансцендентое число🤓☝️

  • @maxgavr1775
    @maxgavr1775 8 หลายเดือนก่อน

    Понятия не имею, о чём автор 15 минут тут распинается. Монада это персонаж из аниме Эрго Прокси..)

  • @tasteofrussia7329
    @tasteofrussia7329 8 หลายเดือนก่อน

    А если мы не знаем, сколько у нас будет таких отсортированных массивов, которые нужно будет сложить в один

  • @ЛюдмилаРовенская-о7ф
    @ЛюдмилаРовенская-о7ф 8 หลายเดือนก่อน

    22÷7=π

  • @madkir8206
    @madkir8206 9 หลายเดือนก่อน

    Первое, что пришло в голову: Я бы в хэш табле запоминала, какие цифры у нас встречались в качестве ключей, значением сохраняла бы 0 если единожды встретилось число, 1 если встретилось второй раз, и таким образом просто вернула бы ключ, у которого значение 0 :) Но я конечно новичок в алгоритмах, так что это может и не самая лучшая мысля

  • @akhmedumarov3944
    @akhmedumarov3944 10 หลายเดือนก่อน

    Пройтись по массиву, в случае если число попалось впервые закинуть его в map с ключом значения а в значение тру, проверяется впервые или нет, тем что есть ли такое свойство в map, если же оно есть то удаляется свойство. Потом просто находит единственнле свойство map. Сложность O(1)

  • @idontknow_
    @idontknow_ 10 หลายเดือนก่อน

    def find_uniq(nums: list[int]) -> int: nums_table = set() for i in nums: if i not in nums_table: nums_table.add(i) else: nums_table.remove(i) return list(nums_table)[0] сразу написал сет, но до xor так же не догадался :\

  • @saturn1759
    @saturn1759 10 หลายเดือนก่อน

    Scala вместо if использует тернарный оператор

  • @Alina-nq9nw
    @Alina-nq9nw 10 หลายเดือนก่อน

    Если в раст есть тип Option<T>, то это значит что там есть монады? Необычно что Scala-разрабы отходят от сложившейся традиции указывать тип в треугольных скобках и решили делать это в квадратных скобочках (Option<T> vs Option[T]).

    • @wolf_code
      @wolf_code 10 หลายเดือนก่อน

      в раст да есть, монады можно в любой язык занести, вопрос в том насколько удобно это будет

  • @ddflruc
    @ddflruc 10 หลายเดือนก่อน

    Топовый контент для подготовки к интервью!!!! Спасибо вам!!!!

  • @UnityHomeStudio
    @UnityHomeStudio 11 หลายเดือนก่อน

    a = [1, 1, 2, 2, 3, 5, 5, 8, 8, 13, 13] for e1 in a: cn = 0 for e2 in a: if e1 == e2: cn += 1 if cn == 1: print(e1) Вот так решил

  • @iceone365
    @iceone365 ปีที่แล้ว

    я новичок в пайтон, я когда смотрю такие видосы, пытаюсь сначала решить задачу сам. И вроде получается, но потом когда смотрю решение, понимаю что я чего-то не понимаю n = int(input()) s = [int(input()) for i in range(n)] for i in s: if s.count(i) <2: print(i,end = ' ') Разве мы не можем просто примитивно сделать вот так?

  • @juliadizhak8397
    @juliadizhak8397 ปีที่แล้ว

    Проходить співбесіду в терористичну компанію. 🫤 Завдання від путіна як побудувати табори смерті, ось такі задачі там треба вирішувати

  • @lepaxtwin
    @lepaxtwin ปีที่แล้ว

    0:58 Сгруппировать по значению, и найти запись с количеством вхождений 1.

    • @wolf_code
      @wolf_code ปีที่แล้ว

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

  • @ИванШалутов
    @ИванШалутов ปีที่แล้ว

    Извините за глупый вопрос, но что такое val в вашем коде?) Для чего вы пишите перед переменной val?

  • @7Denial7
    @7Denial7 ปีที่แล้ว

    А вот мое решение на VBA, тоже рекурсивное. Оно учитывает варианты когда веса заданы отрицательные. И собирает в один лист (коллекцию) все узлы максимальной ветки: Public Function FindMaxBranch(BinTree As BinTreeNode, _ Optional ByRef total As Long) As Collection Dim ListL As Collection, ListR As Collection Dim totalL As Long, totalR As Long If BinTree Is Nothing Then Exit Function Set ListL = FindMaxBranch(BinTree.Left, totalL) Set ListR = FindMaxBranch(BinTree.Right, totalR) total = totalL Select Case True Case ListL Is Nothing And ListR Is Nothing: Set FindMaxBranch = New Collection Case ListR Is Nothing: Set FindMaxBranch = ListL Case ListL Is Nothing Or totalR > totalL: Set FindMaxBranch = ListR: total = totalR Case Else: Set FindMaxBranch = ListL End Select FindMaxBranch.Add BinTree total = total + BinTree.Weight End Function

  • @7Denial7
    @7Denial7 ปีที่แล้ว

    Сразу решил через Xor

  • @ДанилаПлаксин-у6ъ
    @ДанилаПлаксин-у6ъ ปีที่แล้ว

    Решение конечно вообще неожиданное

  • @crane5922
    @crane5922 ปีที่แล้ว

    Проблема Яндекс собеседования, что им нужно их решение, а не то что можно рассуждать.

  • @Ksenia_Star-i4t
    @Ksenia_Star-i4t ปีที่แล้ว

    Если работаешь 5/2, когда ходить по собеседованиям?

  • @nbrainscomics4394
    @nbrainscomics4394 ปีที่แล้ว

    Это очень неудачная реализация, которая убивает весь смысл этой сортировки. Уже на 10 тысячах элементов такая реализация выбросит вам ошибку памяти. Из за супер раздутого стека в методе merge(), этот метод не нужно делать рекурсивным, там лучше будет каждый раз создавать новый результат и проходится по элементам простым циклом, а остаток кидать в конец массива. С этим решением вы на том же литкоде не пройдете тесты. Мир ✌

    • @wolf_code
      @wolf_code ปีที่แล้ว

      Верно, список создается не в стеке - а в куче - а в целом все по делу и верно. Зачем я показал именно эту реализацию? Она наглядная - новичок не отвлекается на оптимизации а просто познает идею алгоритма. Все что касается Ваших пунктов - я согласен!

  • @pavuk7086
    @pavuk7086 ปีที่แล้ว

    Подскажите, какими материалами пользовались для изучения алгоритмов? Хочу к ним на фронта попасть)

    • @wolf_code
      @wolf_code ปีที่แล้ว

      кормэн - алгоритмы построение и анализ

  • @angrybabka9483
    @angrybabka9483 ปีที่แล้ว

    Можно глупый вопрос? В 45 строчке кода мы объявляем List(Frac(x+1), Division). А почему у Frac только один параметр - числитель (x+1)? Почему при этом всё работает?) И даже компилятор не ругается, при том что параметров по умолчанию для Frac у нас нет

  • @ishitharajapakse9675
    @ishitharajapakse9675 ปีที่แล้ว

    Very similar to leetcode 540. Single Element in a Sorted Array. First sort and then solution for leetcode for 540(complexity log n, binary search): def my_func(l): left = 0 right = len(l) - 1 while left <= right: mid = left + ((right - left) // 2) if ((mid-1<0 or l[mid-1] != l[mid]) and (mid+1 == len(l) or l[mid] != l[mid+1])): return l[mid] leftVals = mid -1 if l[mid-1] == l[mid] else mid if leftVals % 2: right = mid - 1 else: left = mid + 1

  • @bupsyep9815
    @bupsyep9815 ปีที่แล้ว

    HashSet<int> set = new(); for (int i = 0; i < nums.Length; ++i) { if (set.Contains(nums[i])) { set.Remove(nums[i]); } else { set.Add(nums[i]); } } return set.ToArray()[0];

  • @siroziro6672
    @siroziro6672 ปีที่แล้ว

    как же вы тихо говорите )

  • @timofeev.vadim.96
    @timofeev.vadim.96 ปีที่แล้ว

    Интересно, зачем вообще так углубляться в скорость решения задачи, если питон вообще не про скорость?) во всяком случае лезть в бинарный код перебор по-моему) Вы и так решили здорово, главное хоть как-то решить, и желательно, не O(n^2).

  • @kirillsushilnikov9614
    @kirillsushilnikov9614 ปีที่แล้ว

    Вот смотрю я на этот Scala, рассказываете про его фишечки типа параметры по умолчанию, sealed, object и понимаю, что эти штуки есть в Kotlin. Scala появился в 2003г., Kotlin - в 2011г. Похоже, что Kotlin у них позаимствовал некоторые вещи.

  • @Никита-ч8ъ7ц
    @Никита-ч8ъ7ц ปีที่แล้ว

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

    • @wolf_code
      @wolf_code ปีที่แล้ว

      linux mint

  • @kdnlinker
    @kdnlinker ปีที่แล้ว

    Задание от яндекса, как и сам яндекс - говно, если ты не знаешь конкретного решения именно этого задания, то хрен его решишь.

  • @АндрейСоловьев-ц6о
    @АндрейСоловьев-ц6о ปีที่แล้ว

    Чел, у тебя круто получается

  • @homehome-hl9do
    @homehome-hl9do ปีที่แล้ว

    О, а я догадался до xor-a. Где тут контракты подписывают? 😊

  • @volgoden
    @volgoden ปีที่แล้ว

    Концептуально максимально близко к языку Rust (который похоже много от Scala перенял)

  • @ЕвгенийАндреев-з2э
    @ЕвгенийАндреев-з2э ปีที่แล้ว

    Решение будет некорректным в случае наличия отрицательных ключей в дереве. Тогда максимальное поддерево не обязано начинаться корнем. В случае неотрицательных ключей такая ветка всегда будет начинаться от корня

    • @СергейМарущенко-р6н
      @СергейМарущенко-р6н 2 หลายเดือนก่อน

      в поиск максимума на строках 24 - 27 надо само value добавить, тогда должно отработать правильно даже при наличии отрицательных значений

  • @igortunev6163
    @igortunev6163 ปีที่แล้ว

    Решение 2 не совсем линейно. Даже в лучшем случае, если реализация сет через хэш таблицы, то линейность только по вероятности.

    • @wolf_code
      @wolf_code ปีที่แล้ว

      Если не линейное, то какое?

    • @igortunev6163
      @igortunev6163 ปีที่แล้ว

      ​@@wolf_code, по умолчанию под сложностью подразумевают сложность для ДМТ (детерминированная машина Тьюринга). Самый быстрый алгоритм реализации, известный мне, это дерево, с которым сложность 2го алгоритма n log n С хэш таблицами в худшем случае может получиться n^2 (на сколько понимаю). Худший случай и определяет сложность реализации. Если бы Вас просили написать алгоритм линейный в среднем (по вероятности), то решение корректно. Но тогда нужно было об этом было сказать в видео.

    • @igortunev6163
      @igortunev6163 ปีที่แล้ว

      @@wolf_code, хотя и хэш таблицу можно модифицировать до log n (в худшем случае) при вставке/удалении/проверке.

    • @wolf_code
      @wolf_code ปีที่แล้ว

      @@igortunev6163 как работает хэш таблица по вашему? Конкретно реализация ее в библиотеке java? Там никак невозможна деградация поиска и вставки до линейного времени

    • @igortunev6163
      @igortunev6163 ปีที่แล้ว

      @@wolf_code, теоретическая модель допускает линейность. В java, видимо, модифицированная версия. Например, можно подобрать множество чисел, на котором хэш функция будет выдавать один и тот же адрес (на список). Тогда значения придётся класть в один список, сложность поиска в котором линейна от его длины (поиск необходим для сетов даже при вставке). Отсюда и линейность в худшем случае. Но можно вместо списка использовать, опять же, дерево или вложенный хэш и рассуждения повторяются. Те операции быстрее чем за log n, скорей всего не реализуете (мне такого не известно). Ну, или предложите тогда?

  • @nikitahffthvdestggfdry
    @nikitahffthvdestggfdry ปีที่แล้ว

    b = a.sorted For i in b: If index(i) mod 2 == 0: If b[index(i)+1] - b[index(i)] != 0: print(i) Break; Сложность O(n), считая сортировку, в памяти только массив. Не уверен в синтаксисе, уже 2 года работаю только с sql, но мысль думаю понятна)

    • @wolf_code
      @wolf_code ปีที่แล้ว

      с чего вдруг сортировка за линейное время?

    • @nikitahffthvdestggfdry
      @nikitahffthvdestggfdry ปีที่แล้ว

      @@wolf_code Согласен, в pyton сортировка n*logn, не линейная, но тоже неплохо.

    • @INesterov
      @INesterov ปีที่แล้ว

      Выход за предел масива справа в коде.

  • @TheMarkBrut
    @TheMarkBrut ปีที่แล้ว

    Like!

  • @wolf_code
    @wolf_code ปีที่แล้ว

    Гайз подписывайтесь на мой телеграм канальчик - там кайфуха и объявления стримов t.me/wolfdump