Python Simple
226 subscribers
55 photos
6 videos
175 links
by mr.Gold
Download Telegram
Задачка на эту короткую неделю. Это не стареющая классика, с небольшим доп условием.
Ее часто спрашивают на собесах или дают в контестах.
3163. String Compression III

Нам дана строка word и нам надо сжать ее с помощью следующего алгоритма
-Мы начинаем с пустой строки
-Далее для каждой буквы повторяющейся подряд не более 9 раз мы прибавляем к результирующей строке количество + букву
-Если буква повторяется более 9 раз нам надо сросить счетчик

наша задача вернуть сжатую строку

Оригинал условия
https://leetcode.com/problems/string-compression-iii/description/

Наша задача как всегда решить и засабмитить на литкоде
🔥41
На этой неделе задача easy, но я что-то в ней закапался минут на 40.
И так нам дан список с целыми числами, который представляет число разбитое на цифры.
А так же нам дано число, которое необходимо прибавить к этому списку так, как будто он тоже число.

Ссылочка на задачку, там же оригинальные условия и примеры.
Нам как всегда, надо до воскресенья, решить и засабмитить на литкоде.

https://leetcode.com/problems/add-to-array-form-of-integer/submissions/1451826150/

P.S. Сначала я думал, что решается в 2 строки, но я никогда так не ошибался и написал какой-то костыль.
Надеюсь кто-то решит поэлегатнее 😂👉👈
3
Наступил вечер среды, а это значит нас ждет очередная задача на эту неделю.
Задачка у нас уровня медиум, но это не самый хардовый медиум

И так нам дан массив с целыми числами nums, длины n и целое число положительное число k
И нам надо найти мощность подмасивов длинной k входящих в данный массив. И вернуть их в виде списка.

Мощность массива вычисляется в том случае, если все элементы в нем отсортированы в порядке возрастания и разница между этими элементами равна 1. В таком случае мощность равна максимальному элементу подмасива.

Если же элементы не соответсвуют выще описанному требованию, то следует вернуть -1.

https://leetcode.com/problems/find-the-power-of-k-size-subarrays-i/description/

Как всегда приветсвуются идеи и жаркие дискусии, в воскресенье покажу Вам как я решил!
🔥4
Очередной вечер среды, а это значит у нас новая задачка.
Она чем-то перекликается с задачей прошлой недели.

У нас есть список с целыми числами и два целых числа m и k
Наша задача вернуть максимальную сумму подмассива длинной k, в котором есть как минимум m уникальных значений.
Если такой подмассив не обнаружен, необходимо вернуть ноль.

Ссылочка на задачку
https://leetcode.com/problems/maximum-sum-of-almost-unique-subarray/description/


p.s. Я сам решил, но мне не нравится как у меня получилось, так что жду от Вас пропрывных идей)
3
Всем доброго вечера, с небольшим запозданием летит задачка.
Не пугайтесь того, что она уровня медиум(этот тот самый изи, который замаскировался под медиум.

И так нам дана строка S и список с целыми числами spaces. В этом списке индексы тех мест, где в результирующей строке должны быть пробелы.
Наша задача, вернуть результирующую строку, которая будет создана на основе строки s и пробелов на тех индексах, что указаны в списке spaces

Наша задача засабмитить задачку до обеда воскресенья)

Оставляю ссылочку на примеры и на оригнал условия. И жду ваших решений (на питоне тут можно вообще люто считерить)

https://leetcode.com/problems/adding-spaces-to-a-string/description/
3
Всем доброго вечера, среды!
Устал я от медиум задач, так что на этой неделе нас ждет легкая задачка.

На вход нам даются два числа, candies - количество конфет, num_people - количество людей между которыми надо распределить эти конфеты.
Конфеты распределяются следующим образом, первый человек получает 1 конфету, второй 2 конфеты, третий 3 конфеты до тех пор, пока не закончаться конфеты, если мы достигли последнего человека, то мы переходим в начало и начинаем снова с первого человека.

Если число конфет, которые мы должны дать человеку n больше чем, количество конфет, которое у нас осталось, мы отдаем этому человеку все конфеты что остались.

Наша задача вернуть список длиной равный num_people, где каждый индекс олицетворяет человека в очереди, где будет отражено финальное распределение конфет.

Оригинал условия и ссылочка на задачку

https://leetcode.com/problems/distribute-candies-to-people/description/

Нам как всегда надо засабмитить на лииткоде и поделиться кодом в комментах!
4
Всем привет!

Около двух месяцев назад я начал работать на новом месте, и хочу поблагодарить @sergey_emelyanov22 за то, что все это время он развлекал нас (и, наверное, больше всего меня) задачами с литкода.

Я тем временем практически адаптировался и появилось много мыслей, т.к. это нетипичная компания относительно моего предыдущего опыта. Но есть большая вероятность, что мысли в голове так и останутся) Хотя я уже убедился, что многое из того, что кажется мне очевидным, далеко не всегда очевидно для других.

Ну а следующий год Python-а 🔤, с чем всех и поздравляю!
С наступающим НГ! ☃️
Please open Telegram to view this post
VIEW IN TELEGRAM
7🎄1
Всем привет! Пора оторваться от игристого и салатов и построить новые нейронные связи.
Начинаем год вот с такой задачки.
Нам дан список со строками words и двумерный массив с числами queries.
Каждый элемент в queries это диапазон границ в котором надо найти найти все слова которые бы начинались на гласные буквы и заканчивались на гласные буквы (левая и правая границы входят в диапозон поиска)
Вернуть надо список длины такой же как queries, где для каждого queries[i] будет подсчитано количество подходящих под условие слов.
Обратите внимание, что гласными буквами являются 'a', 'e', 'i', 'o' и 'u'.

https://leetcode.com/problems/count-vowel-strings-in-ranges/description/?envType=daily-question&envId=2025-01-02

Наша задача до обеда воскресенья засабмитить на литкоде и написать алгоритм за O(n) , за O(n + m) работать не будет, я проверял ) 😀
3
Всем привет!
В Тинькофф Т-Банке открылся набор на стажировки, кому интересно, предлагаю подключиться к решению задач, отдельно постов по каждой задаче не будет, обсуждать можно тут в комментах или в чатике.
Сама стажировка - https://education.tbank.ru/start/python/
Кстати там есть не только python
🔥7
Все пытаюсь закрыть гештальт с алгоритмами. Если брать в общем, то простые задачи и мидловые (не все) решаю нормально, собесы прохожу, правда не всегда.

С работы пару человек рекомендовали алгосы от практикума, якобы хороший интенсив, но там надо в темпе фигачить дедлайны и тд. (кстати тут интересный кейс, на моей работе челу оплатили курс на прошлой, и он благодаря этому курсу смог хорошо пройти собес и уволиться с прошлой работы)

И вот осенью я купил курс от Влада Тена, там нет дедлайнов, и он дешевле в несколько раз, ну минус в том, что я был только на 4-5 лекциях, но они есть в записи. Подача крутая, все круто, но отложил опять алгосы (глубокое литкод понимание).

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

Эх, хотел на диагностике от Яндекса протестить навыки (до и после), но они закрыли проект. Ладно, можно к ним на собес будет попасть, но задачи на собесе, это рандом обычно. Кодефорсис сильно напряжно, но наверное самый верный индикатор.

В чате удивили некоторые начинающие разработчики, кто уже хорошо шарит алгоритмы.

Алгомонстры, можете в комментах написать, как вы смогли? Может кто-то ещё сможет)
7
Топ-1 книг по подготовке к собеседованию

Однажды на работе у нас была встреча, где обсуждали проведение собеседований. Один из вопросов звучал так: «Что делать, если кандидат отвечает очень чётко и конкретно, и есть подозрение, что у него есть слив вопросов с собеса?» Ответ куратора был такой: «Если он выучил всё, что нас интересует, значит, он нам подходит. Чтобы хорошо пройти собеседование, достаточно внимательно прочитать "fluent python"».

Лучано Рамальо — «Python. К вершинам мастерства»

У меня когда-то было первое издание этой книги. Я купил её только из-за глав про асинхронность, но потом был приятно удивлён, насколько глубоко и подробно разобраны и другие темы.
Стоит отметить, что книга не для новичков и может показаться сложной. Однако темы, которые часто спрашивают на собеседованиях, разобраны в ней очень детально.
Не советую читать её от корки до корки. Лучше берите интересующую тему, находите её в книге и погружайтесь.

Есть ещё несколько полезных ресурсов:

- Канал Олега Молчанова.
- Курс «Поколение Python» (сам не проходил, но знаю людей, которые его рекомендовали и немного листал).

Но у меня сложилось впечатление, что это виды адаптации книги Рамальо.
Если кого-то интересует 9-ти часовой разбор этой книги от Диджитализируй, welcome https://youtu.be/yHckrS1lvG8?si=IhnC9f06TjN7EqbU

P.S. Совсем забыл ещё один из ресурсов - этот @python_simple канал)
7
Всем привет!

У одного из наших подписчиков @sergey_emelyanov22 оказался лишний экземпляр книги "Python. К вершинам мастерства", и он предложил разыграть его среди участников. Мы решили сделать это через турнир на платформе codebattle.hexlet.io

На платформе можно создать игру, выбрать сложность задачи, тайминг и тег задачи. К сожалению, конкретную задачу выбрать тоже можно, но мы договоримся выбирать случайную). Основная фишка в том, что во время игры участники видят код друг друга в реальном времени. Это позволяет подсмотреть идею у соперника и отправить решение быстрее.

Важный момент:
Победа не всегда зависит от уровня знаний. Можно выбрать простую задачу и выиграть, просто написав минимальный код быстрее оппонента, например, одно арифметическое действие.

Формат турнира:
Предлагаю играть до двух побед. Сначала один участник создает игру, выбирая уровень сложности, время и случайную задачу. Затем второй участник делает то же самое. Если потребуется третий раунд, то опять выбирает первый, тут надо будет договориться, кто будет первым (прокачка софт-скиллов)

Если хотите участвовать, поставьте плюсик в комментариях. Я составлю сетку и добавлю вас в турнир. Даже если книга вам не нужна, всё равно присоединяйтесь!

Не забудьте заглянуть в чатик канала на время турнира, чтобы быть в курсе всех обновлений.
4
Всем привет!
Ни разу еще не писал про Авито, но вот на что наткнулся:
https://start.avito.ru/ - стажировочка

Кто недавно окончил универ или еще учится, рекомендую!

Ознакомиться с прошлыми наборами можно у них на гитхабе: https://github.com/avito-tech/tech-internship/tree/main/Tech%20Internships/Backend

Правда есть впечатление, что в приоритете гошники, но выполнять тестовое на других ЯП тоже допускается
3🔥2
Всем привет!

Невыполнимые задачи 😭

Бывают задачи, которые делать совсем не хочется. Обычно я их откладываю до последнего момента, когда откладывать уже некуда или когда уже нет задач, на которые можно отвлечься.

Это сопровождается стрессом, потому что задача висит давно, тебя спрашивают о прогрессе, и, возможно, ты уже сказал что-то, что не совсем соответствует действительности (по поводу прогресса). А в это время ты помогаешь коллегам, берешься за другие задачи, вытираешь пыль, но не делаешь то, что нужно было закончить ещё неделю назад. Это сказывается на сне, настроении и даже на том, с каким настроем ты подключаешься к дэйли.

Какие это задачи?

- Серые зоны: то есть надо разобраться как работают сторонние сервисы, с которыми взаимодействует ваш проект, есть черный ящик или непонятен алгоритм работы чего-то
- Неясные требования: нет понимания, что от тебя хотят в итоге. Иногда даже непонятно, какие должны быть эндпоинты для клиента. И таких задач со временем становится всё больше.
- Плохая декомпозиция: задача не разбита на части, непонятно, за что браться сначала и есть ли у этого вообще конец.
- Создание с нуля: нужно написать какой-то функционал с нуля, а не вписать в существующую архитектуру.
- Пункт для вашего пункта)

Советов особо нет, сам наступаю на грабли, но всё же:

1. Можно декомпозировать задачу. Разбейте её на части, которые можно сделать отдельно. Да, это не всегда получается, но это важный навык.
2. Зацепись за что-то конкретное, чтобы можно было двигаться дальше, как в японском кроссворде. Например, я часто иду от пользователя к бизнес-логике: от схемы эндпоинтов к реализации функционала. Если реализовать ручки, то уже можно прийти с вопросами к заказчику и уточнить детали.
3. Принцип fail fast, fail cheap - лучше быстро накосячить, получить фидбек и исправить, чем долго тянуть, а потом всё равно накосячить. Но тут важно соблюдать баланс: если косячить слишком часто, могут возникнуть вопросы к твоей компетенции.

Если есть ещё советы или примеры с задачами, буду рад почитать)
8
Python Simple
https://yandex.ru/yaintern/backend Судя по всему начался сезон стажировок
А никто не откликался?
Даже на хабркарьере появились вакансии джунов в Яндекс https://career.habr.com/companies/yandex/vacancies
👍3
+10 к карме систем-дизайнера, очень рекомендую, даже захотелось погрузиться в SRE
Всем привет!
Читаю Хабр и что вижу! Реклама гранта на обучение!
special.hexlet.io/grant

Хекслету обычно доверяю, так что советую зарегистрироваться или создать новый аккаунт, пройти 15 бесплатных уроков и подготовить мотивационное письмо.

Это, конечно, не волшебная таблетка, но почему бы не попробовать) Даже если уже прогаете во всю)

p.s. Кто не знает, сооснователь Хекслета - Кирилл Мокевнин из подкаста, постом выше)
🔥3🤩21