Супер! Требуем больше видео такого формата👍🏾👍🏾👍🏾👍🏾
@slavkapiyavka
10 ай бұрын
вторая задачка поинтереснее первой :) жду видео по алгоритмам, это будет изумруд😌
@slimdaddy4509
10 ай бұрын
Работаю давно, опыта коммерческого хватает, освежил память, спасибо за видео! Буду смотреть)
@iKhripunov86
8 ай бұрын
Одно из самых полезных видео по алгоритмам используя JavaScript, которое я смотрел. Советы действенные, спасибо! По всем бы базовым алгоритмам и структурным типам такое видео.
@АндрейФилиппов-з3и
6 ай бұрын
большое спасибо за классное и наглядное объяснение) будет круто увидеть аналогичным образом все основные алгоритмы)
@bentonfraizer69
2 ай бұрын
Спасибо за видео, Игорь.
@sdf0as9f0a9sda0s
10 ай бұрын
спасибо, очень интересно.
@Mrflomaster2011
10 ай бұрын
Наконец-то вышло видео 😃
@velikorossnationalist4259
10 ай бұрын
Отличное обьяснение алгоритмов!
@firefoxic
2 ай бұрын
В решении второй задачки есть ошибка. Если в последний из трёх тестовых массивов добавить в конец число 8, то левый и правый поинтеры встретятся на этой восьмёрке, сложат её саму с собой и функция радостно выдаст true. Ошибка в условии while: там в отличие от первой задачи нужно строгое неравенство < вместо нестрогого
@antonov_i
2 ай бұрын
Спасибо! 🤝Посмотрю. Видимо пропустил. Как раз хотел обновить решение и улучшить
@MqArrr
9 ай бұрын
Классный видос, хорошо объяснил
@trypophobia7497
7 ай бұрын
Чет не могу понять, добавление в начало массива работает за O(n), так как происходит сдвиг предыдущих элементов. вы делаете добавление в начало внутри while, как получилось O(n)?
@РоманБарахвостов
15 күн бұрын
думаю во второй задаче должно быть while(leftPointer < rightPointer), так как, например, для ([1,2,4,8], 16) будет true при while(leftPointer
@suslikest3708
11 күн бұрын
Считаю алгоритмы полезными в двух случаях 1. Собесы 2. Когда(очень редко как правило) всетаки в бизнесе случается чтото нестандартное то меньше тупишь
@Солнцеликий-б3ъ
4 ай бұрын
Мне кажется, что для второй задачи нужно либо уточнить условие, либо поменять алгоритм. Исходя из алгоритма мы проверяем что в массиве есть два числа, которые в сумме дают target, однако если target = результату суммы 3-х и более чисел, то программа нам вернет false. Например, isTargetExists([1, 2, 3, 7], 6) вернет false, когда 1 + 2 + 3 = 6. Возможно я неправильно понял условие 🤔
@antonandreev3556
10 ай бұрын
Если попробовать провести тесты с другими массивами, типа [9, 2, 5, 3], то результат огорчит, тк результат будет неправильно отсортирован [ 81, 4, 25, 9 ]
@antonov_i
10 ай бұрын
Всё верно. Условие задачи говорит, что массив должен быть отсортирован по возрастанию. Алгоритм решения подобран исходя из этого. Само собой, если по условию массив не отсортирован, то тогда придётся применять какой-либо алгоритм сортировки. Если передать [2, 3, 5, 9] (то есть предварительно применить сортировку), то работать будет так, как и ожидается.
@cheblin
10 ай бұрын
я тупой объясните мне тупому как? КАК?? вставить элемент в начало массива( not a LIst !) не смещая уже вставленные элементы даже у JavaScript массива который ведет себя как List у всего есть цена. на практике, если очень уж хочется заморочится.... через map получил бы массив квадратов элементов и сортировал результат по месту.
@antonov_i
10 ай бұрын
Магии никакой нет. При использовании unshift элементы будут сдвигаться вправо. Сложность при этому будет O(n), то есть расти линейно. Вариант с map и сортировкой в видео рассматривал. Но добавление сортировки приведёт к O(n * log n), сложность возрастёт.
@carry-on-chaos4032
10 ай бұрын
@@antonov_i сложность не будет O(n) так как сложность зависит так же от памяти. а смещение всех элементов массива это плохой алгоритм, в текущей задаче алгоритм с сортировкой будет даже предпочтительней. Под предоставленные тест кейсы можно подогнать решение с одним проходом по массиву, но под другие тест кейсы оптимальный вариант это 2 линейных обхода массива
@umni_kot
5 ай бұрын
@@carry-on-chaos4032 вы шизофреник
@innokentyk9016
5 ай бұрын
@@carry-on-chaos4032 Ты пойми магии нет. Что ты тут колдуешь. Чел не в курсе за Math.abs и за reverse
@andrewkruchini8614
4 ай бұрын
@@carry-on-chaos4032 судя по Вашему возмущению, Вы заглянули сюда из мира C/C++, где массивом называют область памяти, в которой нулевой элемент всегда хранится по нулевому смещению. Как рализован массив в JS, не знаю, но из наличия метода unshift могу предположить, что как двусторонняя очередь (например, на основе кольцевого буфера), где вставка в начало и конец происходят за O(1).
Пікірлер: 24