Пікірлер
@kirylklimuk4816
@kirylklimuk4816 4 күн бұрын
Так а на самом собесе вы никак с собеседующим не обговаривали эту ситуацию? Или там было достаточно написать то что в первом видосе?
@jurasan2828
@jurasan2828 5 күн бұрын
Архимед не оперировал алгебраическими методами, а только геометрическими. Понятие интеграл и предел тогда тоже не существовали. И нашел АРХИМЕД 22/7 не более
@lanakramoleb
@lanakramoleb 9 күн бұрын
Это самое ужасное, что я видел по этому поводу!
@wolf_code
@wolf_code 8 күн бұрын
Трудно не согласиться, мне материал вообще не зашел - долго решался публиковать
@stepandemin5836
@stepandemin5836 Ай бұрын
Ничего подобного: в яндексе просьба о помощи насцениваеться как подсказка и идёт в минус
@padla6304
@padla6304 Ай бұрын
а потом пришёл товарищ Гаусс и сказал что всё считается не так)))
@emperorofamoguses
@emperorofamoguses 2 ай бұрын
Ерм... Ну вообще-то.. число π - трансцендентое число🤓☝️
@maxgavr1775
@maxgavr1775 2 ай бұрын
Понятия не имею, о чём автор 15 минут тут распинается. Монада это персонаж из аниме Эрго Прокси..)
@tasteofrussia7329
@tasteofrussia7329 2 ай бұрын
А если мы не знаем, сколько у нас будет таких отсортированных массивов, которые нужно будет сложить в один
@user-rw9ct8hu2q
@user-rw9ct8hu2q 2 ай бұрын
22÷7=π
@madkir8206
@madkir8206 3 ай бұрын
Первое, что пришло в голову: Я бы в хэш табле запоминала, какие цифры у нас встречались в качестве ключей, значением сохраняла бы 0 если единожды встретилось число, 1 если встретилось второй раз, и таким образом просто вернула бы ключ, у которого значение 0 :) Но я конечно новичок в алгоритмах, так что это может и не самая лучшая мысля
@akhmedumarov3944
@akhmedumarov3944 4 ай бұрын
Пройтись по массиву, в случае если число попалось впервые закинуть его в map с ключом значения а в значение тру, проверяется впервые или нет, тем что есть ли такое свойство в map, если же оно есть то удаляется свойство. Потом просто находит единственнле свойство map. Сложность O(1)
@forgotten_forbidden
@forgotten_forbidden 2 ай бұрын
O(n)
@idontknow_
@idontknow_ 4 ай бұрын
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 4 ай бұрын
Scala вместо if использует тернарный оператор
@Alina-nq9nw
@Alina-nq9nw 4 ай бұрын
Если в раст есть тип Option<T>, то это значит что там есть монады? Необычно что Scala-разрабы отходят от сложившейся традиции указывать тип в треугольных скобках и решили делать это в квадратных скобочках (Option<T> vs Option[T]).
@wolf_code
@wolf_code 4 ай бұрын
в раст да есть, монады можно в любой язык занести, вопрос в том насколько удобно это будет
@user-gs7ro3tl9t
@user-gs7ro3tl9t 4 ай бұрын
Топовый контент для подготовки к интервью!!!! Спасибо вам!!!!
@maximbka4083
@maximbka4083 5 ай бұрын
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 5 ай бұрын
я новичок в пайтон, я когда смотрю такие видосы, пытаюсь сначала решить задачу сам. И вроде получается, но потом когда смотрю решение, понимаю что я чего-то не понимаю 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 6 ай бұрын
Проходить співбесіду в терористичну компанію. 🫤 Завдання від путіна як побудувати табори смерті, ось такі задачі там треба вирішувати
@lepaxtwin
@lepaxtwin 6 ай бұрын
0:58 Сгруппировать по значению, и найти запись с количеством вхождений 1.
@wolf_code
@wolf_code 6 ай бұрын
сложность какая у группировки по значениям?
@user-en3gy5ue4q
@user-en3gy5ue4q 6 ай бұрын
Извините за глупый вопрос, но что такое val в вашем коде?) Для чего вы пишите перед переменной val?
@7Denial7
@7Denial7 6 ай бұрын
А вот мое решение на 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 6 ай бұрын
Сразу решил через Xor
@user-nw8gn2xh2v
@user-nw8gn2xh2v 6 ай бұрын
Решение конечно вообще неожиданное
@crane5922
@crane5922 6 ай бұрын
Проблема Яндекс собеседования, что им нужно их решение, а не то что можно рассуждать.
@user-bk8gt2hs4e
@user-bk8gt2hs4e 7 ай бұрын
Если работаешь 5/2, когда ходить по собеседованиям?
@nbrainscomics4394
@nbrainscomics4394 7 ай бұрын
Это очень неудачная реализация, которая убивает весь смысл этой сортировки. Уже на 10 тысячах элементов такая реализация выбросит вам ошибку памяти. Из за супер раздутого стека в методе merge(), этот метод не нужно делать рекурсивным, там лучше будет каждый раз создавать новый результат и проходится по элементам простым циклом, а остаток кидать в конец массива. С этим решением вы на том же литкоде не пройдете тесты. Мир ✌
@wolf_code
@wolf_code 7 ай бұрын
Верно, список создается не в стеке - а в куче - а в целом все по делу и верно. Зачем я показал именно эту реализацию? Она наглядная - новичок не отвлекается на оптимизации а просто познает идею алгоритма. Все что касается Ваших пунктов - я согласен!
@pavuk7086
@pavuk7086 7 ай бұрын
Подскажите, какими материалами пользовались для изучения алгоритмов? Хочу к ним на фронта попасть)
@wolf_code
@wolf_code 7 ай бұрын
кормэн - алгоритмы построение и анализ
@angrybabka9483
@angrybabka9483 8 ай бұрын
Можно глупый вопрос? В 45 строчке кода мы объявляем List(Frac(x+1), Division). А почему у Frac только один параметр - числитель (x+1)? Почему при этом всё работает?) И даже компилятор не ругается, при том что параметров по умолчанию для Frac у нас нет
@ishitharajapakse9675
@ishitharajapakse9675 8 ай бұрын
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 9 ай бұрын
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 9 ай бұрын
как же вы тихо говорите )
@timofeev.vadim.96
@timofeev.vadim.96 9 ай бұрын
Интересно, зачем вообще так углубляться в скорость решения задачи, если питон вообще не про скорость?) во всяком случае лезть в бинарный код перебор по-моему) Вы и так решили здорово, главное хоть как-то решить, и желательно, не O(n^2).
@kirillsushilnikov9614
@kirillsushilnikov9614 10 ай бұрын
Вот смотрю я на этот Scala, рассказываете про его фишечки типа параметры по умолчанию, sealed, object и понимаю, что эти штуки есть в Kotlin. Scala появился в 2003г., Kotlin - в 2011г. Похоже, что Kotlin у них позаимствовал некоторые вещи.
@user-wh9mz4uz6e
@user-wh9mz4uz6e 10 ай бұрын
День добрый , какую сборку линукса используете ?
@wolf_code
@wolf_code 10 ай бұрын
linux mint
@kdnlinker
@kdnlinker 11 ай бұрын
Задание от яндекса, как и сам яндекс - говно, если ты не знаешь конкретного решения именно этого задания, то хрен его решишь.
@user-yb2zj6bf1v
@user-yb2zj6bf1v 11 ай бұрын
Чел, у тебя круто получается
@homehome-hl9do
@homehome-hl9do 11 ай бұрын
О, а я догадался до xor-a. Где тут контракты подписывают? 😊
@volgoden
@volgoden 11 ай бұрын
Концептуально максимально близко к языку Rust (который похоже много от Scala перенял)
@user-zp7ey1sl5b
@user-zp7ey1sl5b 11 ай бұрын
Решение будет некорректным в случае наличия отрицательных ключей в дереве. Тогда максимальное поддерево не обязано начинаться корнем. В случае неотрицательных ключей такая ветка всегда будет начинаться от корня
@user-rc1ms5zz6u
@user-rc1ms5zz6u Жыл бұрын
А есть возможность сделать такое тестирование, когда над душой не стоят. Я терпеть не могу когда смотрят, когда я сру. Если не устроюсь разработку вернусь в поставки коптеров и военного снаряжения из Китая, хорошо что китйский язык учил 🙏
@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 11 ай бұрын
@@wolf_code Согласен, в pyton сортировка n*logn, не линейная, но тоже неплохо.
@INesterov
@INesterov 9 ай бұрын
Выход за предел масива справа в коде.
@TheMarkBrut
@TheMarkBrut Жыл бұрын
Like!
@wolf_code
@wolf_code Жыл бұрын
Гайз подписывайтесь на мой телеграм канальчик - там кайфуха и объявления стримов t.me/wolfdump
@user-iu6yz6ck6h
@user-iu6yz6ck6h Жыл бұрын
Очень круто, что решили записать видео ))
@wolf_code
@wolf_code Жыл бұрын
Продолжение стрима тут kzbin.info/www/bejne/rImvaXiXfbNmfa8 Гайз подписывайтесь на мой телеграм канальчик - там кайфуха и объявления стримов t.me/wolfdump
@user-iu6yz6ck6h
@user-iu6yz6ck6h Жыл бұрын
👍👍👍👍👍👍👍👍👍👍👍
@Vitek_23
@Vitek_23 Жыл бұрын
На мой взгляд здесь полностью неверно передана суть ссылочной прозрачности. Какой источник? Даже в том месте, где автор дублирует код, функция sum - является ссылочно прозрачной. Ссылочная прозрачность простыми словами - это участок кода, который для своей работы использует только те явные ссылки, которые мы ему передали. Т.е. например, функция не изменит своего поведения, если ей передавать одни и те же аргументы. Но стоит функции обратится к какому-то внешнему объекту, который мы не указали, она перестаёт быть прозрачной.
@wolf_code
@wolf_code Жыл бұрын
А если функция пишет на стандартный вывод что-то - она является ссылочно прозрачной по вашему определению?
@Vitek_23
@Vitek_23 Жыл бұрын
@@wolf_code Нет, стандарный вывод как правило - это ссылка на внешнюю среду. Она может измениться независимо от аргументов. Но если мы ей явно передаём ссылку на поток вывода, то, думаю, прозрачность сохранится.
@user-xr7ou1xf9x
@user-xr7ou1xf9x Жыл бұрын
Любые задачи на дерево решаются через BFS или DFS. Или обход в ширину, или в глубину. Тут, очевидно, в глубину. Такую задачу дают на собесах в Гугл и Амазон. Не знаю, кто начал раньше. Решение - отличное! Интересно было посмотреть, как оно на Scala реализуется. Спасибо за контент!