Я сейчас сам учусь на лит коде, было бы славное если бы ты много видосов дела на эту тему, по одной задачки в день, очень интересно смотреть
@EugeneSuleimanov Жыл бұрын
Спасибо за отзыв! Раз в день сложно, но стараюсь набивать коллекцию из 100 штук
@manOfPlanetEarth Жыл бұрын
@@EugeneSuleimanov лучики поддержки вам в этом деле☝🏼☝🏼 Только один момент: уберите, плз, из плейлиста "Задачи литкод" стендап чебаткова: он тут вообще ни к чему.
@EugeneSuleimanov Жыл бұрын
@@manOfPlanetEarth спасибо, сделаю )) Видимо, случайно попал )
@LAZIO147 ай бұрын
Обожаю твои видео
@EugeneSuleimanov7 ай бұрын
Спасибо за поддержку!
@edmond-dantes-1796 Жыл бұрын
Хороший разбор вариантов. Задачка не сложная, но добиться минимальной сложности всегда надо подумать. Было бы круто такие же видосы делать с задачками посложнее.
@EugeneSuleimanov Жыл бұрын
Спасибо за отзыв! Более сложные задачи в работе
@tiy2000 Жыл бұрын
Спасибо!)
@EugeneSuleimanov Жыл бұрын
Спасибо за комментарий!
@ilialenskii6211 Жыл бұрын
Евгений, имеет ли смысл давать ссылку на профиль leetcode в резюме?
@EugeneSuleimanov Жыл бұрын
Не думаю. Вряд ли это будет сильно учитываться при отборе.
@KaBy34 Жыл бұрын
🍿😐🍿
@ilialenskii6211 Жыл бұрын
Про первый вариант решения. Там ведь не просто O(n log n), а O(n log n) + O(n log n) + N\2. Где N\2 (среднее) это посимвольное сравнение, где в худшем случае будет сравнение до конца массивов, если строки равны. Как вы оцениваете такое решение на интервью от 1 до 10?
@EugeneSuleimanov Жыл бұрын
Коэффициенты не учитываются при оценке.
@prayer4675 Жыл бұрын
Третье решение для юникода может быть таким: public boolean isAnagram(String s, String t) { if (s.length() != t.length()) { return false; } var map = s.chars() .mapToObj(c -> (char) c) .collect(Collectors.groupingBy(c -> c, Collectors.counting())); t.chars() .mapToObj(c -> (char) c) .forEach(c -> map.compute(c, (k, v) -> v == null ? -1 : --v)); return map.values().stream().noneMatch(count -> count != 0L); } Беда лишь в том, что оба решения неверные. Дело в том, что юникодные символы находятся в пространстве 32-х битных значений, но в Java используется UTF-16, в котором char - это, на самом деле не символ, вернее не всегда символ, а так называемый code point. Чаще всего первых 16-и бит достаточно для представления символов обычных языков или Basic Multilingual Plane (BMP) и тогда в char находится именно символ. Но иногда символ может кодироваться двумя 16-и битными значениями и тогда каждое из этих значений в отдельности символом не является. Для проверки этого даже есть метод Character.isLetter() Примеры символов, требующих два char значения: 𨭎 𠬠 𩷶 Если эти char значения в паре поменять местами, получится другой символ и такая якобы анаграмма на самом деле вовсе не анаграмма. На leetcode этого не учли и поэтому наши решения проходят тестирование, хотя не должны.
@ilialenskii6211 Жыл бұрын
Если не секрет, расскажите почему решили продолжит решать задачки после столь длительного перерыва.
@EugeneSuleimanov Жыл бұрын
Продолжить цикл, и «вернуть форму»
@nickpetr Жыл бұрын
я решал эту задачу я такой там код написал как дом из 5 этажей)) и показывать стыдно)