LeetCode - это сложно? РЕШАЕМ нашу первую задачу
ฝัง
- เผยแพร่เมื่อ 15 ก.ย. 2024
- LEETCODE - это сложно? РЕШАЕМ нашу первую задачу
В этом видео покажу вам, что Leetcode - довольно дружелюбная платформа для решения задач, которые пригодятся вам на собеседованиях. Сегодня решим вместе нашу первую задачу с сайта.
🔥 Подписывайтесь на канал, чувствуйте себя как дома!
Поддержать автора:
🟠 boosty.to/pzn
Наш telegram-канал:
🔵 t.me/+2-09g31u...
Ссылка на задачу:
🔵 leetcode.com/p...
#программист #it #ityoutubersru
Смело подписывайся на нашу телегу - t.me/+2-09g31uEwlhNDA6
Обещаем не бить!
Супер, наглядно и понятно объясняешь. Смотрю используешь шаблон идеи для цикла. Если нажимать таб или энтер, то не надо будет стрелочками переходить в условие цикла и в само тело цикла.
Спасибо)
Спасибо! У страха глаза велики, мотивирует не бояться.
Случайно попал на канал в рекомендациях, крутой разбор, оказывается задача уровня medium может быть такой легкой! Сделал ее на Python. Хочу еще и почаще ) И круто, если бы вы при этом разбирали различные алгоритмы
Супер! Да, один очень хороший человек задонатил мне на премиум подписку, поэтому видосов по теме точно будет не мало)
Можно оптимизировать решение: если найдена 9-ка - сразу ее вернуть и не проходить до конца возможно длинное число.
в теории да, но на практике в самых херовых тестах сложность все равно o(n) будет, так что без разницы
Блин! шикарное познавательное видео! Спасибо огромное!
Только задача простая, если знаешь это свойство двоичных чисел, если часто работать с двоичными числами, то наверное можно догадаться.
super ! это лучшее объяснение
А может пойдёшь в другую сторону и пойдёшь в сторону разбора основных паттернов для решения всех этих задач? Вот как по мне, чтобы решить эту, нужно прям знать решение. Сам до такого ты вряд-ли дойдёшь, если ты вчера не решал подобную задачу
Я, на самом деле, ровно свое решение и рассказал - ровно такое решение и пришло в первый раз в голову. Но про паттерны - это супер идея, там точно есть общие схемы, но для этого мне самому надо много задач нарешать
@@programmer_ed >ровно свое решение и рассказал
тогда у тебя голова гораздо лучше работает в этом направлени, чем у меня) по паттернам есть даже сайт leet code patterns, но мне ей богу непонятно как его использовать, так как там в коолонке паттерны написано просто "Array" или "Bit Manipulation"
@@programmer_ed Как прийти к тому, что минимальное кол-во децибинарных чисел = самой большой цифре в числе? И к тому, какими будут эти числа. Нужна какая та теория?
@@xen-rj1kk по-моему автор все подробно рассказал. Логично, что из 0 и 1 единица самое большое число и нам нужно взять самую большую цифру и разделить на 1. В числе самая большая цифра 8 делим на 1 и получаем нужно просуммировать 8 чисел с единицами. Все это придет только с практикой. Если решать помногу задач каждый день.
Я эту задачу в голове за секунду решил, там реально тупо самая большая цифра в числе) Это логика, с ней проблем нет, а вот с алгоритмами беда…
Крутой канал! Решил задачу на питоне в 3 строчки
Python: return ord(max(n)) - ord('0')
Смотрю и не пойму, что не так, вроде бы верно пишет, но совсем, какие-то точки с запятой в конце, а потом до меня дошло, это же не питон, это Java.
Очень похожи методы,как оказалось.
Изучаю пайтон третий месяц, до этого дня код на ином языке не видел)
Интересно
На самом деле можно намного проще, правда не знаю можно ли на джаве так, но на с++ можно:
string s;
cin>>s;
sort(begin(s), end(s));
cout
Спасибо за видео! Громкость эффекта при переходе убавить бы, а так, всё отлично
Спасибо за комментарий, учтем!
согл
Спасибо большое, хорошо объясняете, как для маленьких) с меня лайк и подписка!
Хороший видос, спасибо!Только когда таблицу соответствия символов и их числовой записи, надо бы указать кодировку, т.к. у них разные значения. Это utf.
Спасибо большое, хорошо объясняете как для маленьких, а я как раз такой)
Мейби нужно делать ретёрн, если мы нашли ‘9’, чтобы дальше не перебирать, поскольку это уже максимум.
Эта задача для школьников которые впервые открыли литкод. Решаеться в одну строку. Пример на JS. По такой же логике можно и на других языках в одну строку решать return n.split('').sort().reverse()[0]
Или так [...n].reduce((acc, el) => +el>acc?+el:acc,0);
Ага, только это за n log n, а оригинал за n
Интересная рубрика.
интересно но честно не могу так со страхом ожидаю что сейчас будет звук перехода😵💫
Круто, продолжай
Обязательно
Четко все рассказал. Вам бы уроки записывать
Спасибо
Работать с цифрами как со строками, это вообще зачем? Почему нельзя было работать с числом как с числом?)
С середины видео увидел решение на java - Лукас и подписка)
Перехожу с це решетки на java.
a = 12345
t2 = 0
while (a > 9) {
t = a % 10
if (t > t2) {
t2 = t
}
a = a // 10
}
подобие псевдокода)
Гениально!
вау, отличное видео
Только, видимо, не минимальное количество ЧИСЕЛ, а минимальное количество ЦИФР
если бы сразу чары перевели в инт, то по скорости и памяти было бы блучше?
11 месяцев назад вышло видео с разбором задачи. И все. Ну так себе мотивация ждать новый контент 😢
я вот так решил:
class Solution {
public int minPartitions(String n) {
char maxDigit = '0';
for (char digit : n.toCharArray()) {
if (digit > maxDigit) {
maxDigit = digit;
}
}
return maxDigit - '0';
}
}
Первое задача с LEETCODE - это победа
всем привет, я скоро окончу 11 класс. Я хочу быть программистом и уже есть хорошая база Python(Django) и JS(просто фронтент короче). Но я до сих пор не могу определится выбрать. Что на ваш взляд актуально и лучше? Мне нравиться оба направления, но не могу определится на что сделать акцент...
Что больше нравится - то и выбирай. Обе технологии актуальны. Разве что в бэкенде может использоваться тот же .NET или Java, а в фронтенде всегда JS/TS.
Иван прав, по актуальности и там и там проблем не будет. Тебе самому то что по душе? Вообще можешь сфокусироваться на питоне, чтобы ЕГЭ проще сдать (на JS сдавать - это круто, конечно), а вузе уже выбрать
Скажу банальную вещь, но язык это просто инструмент) Определяться нужно со сферой, которая больше нравится и уже под нее изучать язык/фреймворки/нужные технологии. Ориентироваться на популярность языка - ну так себе подход. Начнешь плотно писать на чем-то мейнстримном и вдруг поймешь, что это не совсем то, чего действительно хотел. Придется переучиваться/доучиваться на другой стек. Лучше со старта выбрать одно направление, от которого действительно получаешь удовольствие и развиваться в нем. Потом уже, когда руку набьешь по своему профилю, можно и посмотреть по сторонам для расширения кругозора
@@EveryoneIsSoParanoidя считаю, что ориентир на популярный язык очень важен, так как чем популярнее язык, тем больше на него есть информации как на английском, так и на русском языках, что тебе точно поможет быстрее и эффективнее выучить язык
@@zxcfAIL выбор популярного языка в рамках интересующего направления - да, важен. Выбор просто популярного языка из топа может сыграть с тобой злую шутку. Сейчас в топе TIOBE питон. Ты мечтаешь, к примеру, о геймдеве или мобильной разработке. Ну и как, сильно питон поможет в этих направлениях?)
Интересно, на интервью можно будет использовать готовые функции как max, min, sum, split или все вручную нужно делать ?
эти функции реализуются крайне примитивно за полминуты каждая, поэтому обычно позволяют ими пользоваться
Почти закончил все задачи медиум на литкоде но че та эту задачу не припоминаю . Надо чекнуть еще раз или это новая задача ?
Вполне вероятно, что новая
@@programmer_ed нет я сам пропустил 😹😹😹 вчера нашел
Ляя 😂 до середины досмотрела и только потом поняла, что это не питон 😂😂😂
ну, ';' в конце строки как бы намекает ;)
Ну между прочим я понимаю почти все языки чисто из-за одного с++, они все похожи. А так наверно да вам тяжело скорее всего из-за питона, он чуть полегче чем плюсы и джава
хм. Странно что тест на letcode пройден. Ведь согласно этому коду, число 12 состоит из двух децибинарных чисел. Но на самом деле из трех: 10 + 1 + 1
11 + 1
@@programmer_ed Точно! затупил : ). Надо тоже потренировать мозг на letcode
Можно 6 строчку не писать, а сразу ее в цикл for написать
Так оно не верное, не предусмотрен краевой случай, когда нам дают число 0. Как сказал автор, 0-0=0. А нам то нужно минимальное кол-во децибинарных чисел, необходимых для записи этого числа. Для записи нуля нам как минимум нужен сам 0, а это тоже число, соотвественно ответа меньше 1 быть не может.
П.С. Достаточно будет в самом начале max присвоить '1' а не '0'.
На самом деле немного не так, если leetcode принял задачу, значит она верно решена. По всем задачам у них всегда в тестах есть краевые случаи. Я думаю, что по условию 0 - это число, которое вообще не нуждается в децибинарных числах и мы как бы "начинаем" уже с нулем, а не пустотой. Но замечание дельное, и в задаче стоило это указать и мне при решении
2:07
В задаче сказано "Given a string n that's represents a positive decimal integer..."
0 не может быть входным значением, так как не является ни положительным ни отрицательным.
блин барабанные перепонки порвал от звука искажения при переходах видео АААААААа🤕🤕чувак зачем ты так????
А как сделать max - '0' в с#?
Мда, где ты такую задачу нашел, реально на литкоде легкие иногда труднее попадаются
Не очень понял, почему просто не найти максимальную цифру в числе функцией? В java нет такой?
Да, все верно, в Java нет, да и решение хотелось бы общее. Если так подумать, то вызов функции "найти максимальную цифру" сделает ведь то же самое - пройдется по всем цифрам и будет искать максимальную. Просто в условном питоне это будет скрыто за красивым вызовом функции.
@@programmer_ed Что за бред? 😂
@@aammssaamm а что конкретно не так?
@@programmer_ed Вы сами не понимаете? Тогда вы не программист.
То-то я преподаю и работаю разработчиком, наверное, обратный отбор в IT-сфере. А если серьезно, мне действительно интересно, что в моем ответе "бред"? Просто, четко, аргументированно, пожалуйста. Потому что пока это все очень голословно, конечно)
гигакоуп
Я понял, что делает код, но не понял решение
Разбирал в течении часа.
Исписал две страницы.
Мучал chatGPT и Bard'а.
Допер в итоге
Задача решена не верно. Для лбычного 0 эта программа вернёт 0. Но ведь для разбиения числа ноль на децебинарные числа нужно одно число!
Молодец что заметил это в видео. Не молодец - потому что не прочитал сначала комментарии, я буквально день назад написал об этом, да и комментариев не так много)
2:07
В задаче сказано "Given a string n that's represents a positive decimal integer..."
0 не может быть входным значением, так как не является ни положительным ни отрицательным.
эта такая тупая идея, я юзая инет могу решить такие задачи за 2 минуты, и сам могу. Но когда это делается впервые и на камеру то просто изи просер элементарного теста. Бред
При большой зарплате автор ролика не может зубы себе сделать.
Так это реально сложно пиздрец как
fold(0)(Math.max) приблизительно, по смыслу. Непонятно даже, почему она medium
Как-то много у вас выходит, на вскидку вариант намного проще Math.max(... '2560278'.split('').map(Number))
Чувак, ты конечно молодец, видно что знаешь JS, но он то на Java писал. Или ты просто хотел похвастаться тем, что у нас в JS все эти методы есть нативно?
К тому же, самый короткий вариант, не всегда самый хороший вариант. Если на проект придет стажер или джун, ты замараешься ему обьяснять как все эти сплиты, мапы с конструктором числа и т.п. методы работают. Не стоит ниндзякодить, если не уверен в том что в будущем твой проект увидит кто-то кроме тебя самого)
@@ensox А зачем объяснять? Пусть курит доки, если уж назвался джуном. 😂
Можно еще проще Math.max(...'2560278'.split(''))
Спасибо