C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
828 subscribers
228 photos
56 videos
1 file
379 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#ЛитКод
Задача: 487. Max Consecutive Ones II

Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.

Пример:
Input: nums = [1,0,1,1,0]
Output: 4
Explanation:
- If we flip the first zero, nums becomes [1,1,1,1,0] and we have 4 consecutive ones.
- If we flip the second zero, nums becomes [1,0,1,1,1] and we have 3 consecutive ones.
The max number of consecutive ones is 4.


👨‍💻 Алгоритм:

1⃣Для каждого возможного начала последовательности в массиве nums начните считать количество нулей.

2⃣Для каждой последовательности проверяйте, сколько нулей содержится в ней. Если количество нулей не превышает одного, обновите максимальную длину последовательности единиц.

3⃣Продолжайте проверять все возможные последовательности в массиве, и верните максимальную длину последовательности единиц, удовлетворяющую условию.

😎 Решение:
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int longestSequence = 0;
for (int left = 0; left < nums.size(); ++left) {
int numZeroes = 0;
for (int right = left; right < nums.size(); ++right) {
if (nums[right] == 0) {
numZeroes++;
}
if (numZeroes <= 1) {
longestSequence = max(longestSequence, right - left + 1);
}
}
}
return longestSequence;
}
};


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
😊 Собери простой чат-сервер на C менее чем за 40 строк!

🟠Используя только сокеты и poll, ты можешь реализовать обмен сообщениями в реальном времени между терминалом и клиентом

🟠Отличный способ изучить TCP, мультиплексирование ввода-вывода и сетевое программирование в Unix.
Полное руководство тык

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #mongoDB
🤔 Что такое BSON в MongoDB?

BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как Date, ObjectId, и бинарные данные, а также оптимизирует производительность операций

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🤓 GPU Puzzles

Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.

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

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

Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.

Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с Tensor Puzzles, Autodiff Puzzles, Triton Puzzles и другими).

А здесь реализация задач на C++
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 memsafe — это попытка сделать язык C++ хотя бы немного безопасным при работе с памятью

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

Полезно? Да.
Спасёт от всего? Конечно нет

Но по сравнению с классическим "malloc/forget/free/maybe", это уже прогресс

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
Media is too big
VIEW IN TELEGRAM
#видео
🫠 9 различных проектов на C в 2025 году

Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
📱 Смотреть источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
#Собес #mongoDB
🤔 Что такое MongoDB и чем она отличается от традиционных реляционных баз данных?

MongoDB - это NoSQL-база данных, ориентированная на документы. Она отличается гибкостью, так как не требует заранее заданной схемы, и возможностью горизонтального масштабирования. В отличие от реляционных баз, данные хранятся в формате BSON (расширение JSON), что делает MongoDB более подходящей для работы с неструктурированными данными.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
👨‍💻 Язык C в операционных системах

C — идеален для операционок, потому что он ближе всех к железу

Вот как это работает:

1⃣ Пишем исходный код на C
2⃣ Компилятор превращает его в ассемблерный код
3⃣ Ассемблер собирает машинный код —> двоичный, понятный процессору
4⃣ ЦП начинает выполнение инструкций
5⃣ Через функции ОС идёт вызов системных ресурсов
6⃣ В итоге —> взаимодействие с "железом"

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
😊 Это не баг, а фича

Всегда добавляй эту строку в конец своего сообщения коммита — и сам Линус Торвальдс придёт в твой проект и сделает вклад

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #mongoDB
🤔 Какова роль профайлера в MongoDB?

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😴 Знаете ли вы, как на самом деле работает return ?

Это видео объясняет, как работает return в функциях, но не на уровне кода типа return x, а на уровне того, что реально делает процессор
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#Собес #mongoDB
🤔 Какие модели данных существуют в MongoDB?

MongoDB поддерживает две основные модели данных: вложенные (embedded) и нормализованные (normalized). Вложенные модели объединяют данные в одном документе, а нормализованные используют ссылки между документами.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
📞 Работа семафора

Это механизм синхронизации, который управляет доступом к общему ресурсу

Представь, что у тебя есть ресурс, к которому нельзя пускать всех одновременно. Например 7 мест в кафешке. Если все заняты — остальные ждут.

Вот этим и занимается семафор —> пропускает только ограниченное число потоков (или задач) к ресурсу
Поток вызывает wait —> заходит
Сделал дело — release —> освободил место

Семафор защищает ресурсы от одновременного доступа. Без блокировок, просто и понятно

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 Хочешь понять, как реально устроена база данных на низком уровне?

sqlite-internal.pages.dev — это интерактивный визуализатор, который показывает внутренности SQLite-файла:

—> B-деревья
—> Заголовки страниц
—> Записи, varint, указатели и многое другое

Все по официальной спецификации формата файлов SQLite, прямо в браузере и без загрузки данных на сервер

Работа над ним еще не закончена, но автор выпустил его раньше, чтобы собрать отзывы

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2