ar
Feedback
Библиотека задач по C++ | тесты, код, задания

Библиотека задач по C++ | тесты, код, задания

الذهاب إلى القناة على Telegram

Задачи и тесты по C++ для тренировки и обучения. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7a480301 Для обратной связи: @proglibrary_feeedback_bot

إظهار المزيد
6 361
المشتركون
-724 ساعات
-6 1317 أيام
-13 55630 أيام
أرشيف المشاركات
Что выведет код?
Anonymous voting

📖 От Кнута до Седжвика: классика алгоритмической литературы Обзор лучших книг по алгоритмам для программистов всех уровней.
+5
📖 От Кнута до Седжвика: классика алгоритмической литературы Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов. 🔗 Читать подборку

🍯 Задача с собеседования Входные данные: - Дан массив состоящий из int'ов - Повторяющихся элементов в списке нет Задача: - Нужно преобразовать этот массив в строку, сворачивая соседние по числовому ряду числа в диапазоны Примеры: [1,4,5,2,3,9,8,11,0] => "0-5,8-9,11" [1,4,3,2] => "1-4" [1,4] => "1,4"
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <sstream>

std::string convertToRanges(std::vector<int>& nums) {
    if (nums.empty()) {
        return "";
    }

    // Сортируем вектор
    std::sort(nums.begin(), nums.end());

    std::vector<std::string> ranges;
    int start = nums[0];
    int prev = start;

    for (size_t i = 1; i < nums.size(); ++i) {
        if (nums[i] != prev + 1) {
            // Если последовательность прервалась, добавляем диапазон
            if (start == prev) {
                ranges.push_back(std::to_string(start));
            }
            else {
                ranges.push_back(std::to_string(start) + "-" + std::to_string(prev));
            }
            start = nums[i];
        }
        prev = nums[i];
    }

    // Добавляем последний диапазон
    if (start == prev) {
        ranges.push_back(std::to_string(start));
    }
    else {
        ranges.push_back(std::to_string(start) + "-" + std::to_string(prev));
    }

    // Объединяем диапазоны в одну строку
    std::ostringstream result;
    for (size_t i = 0; i < ranges.size(); ++i) {
        if (i > 0) {
            result << ",";
        }
        result << ranges[i];
    }

    return result.str();
}

int main() {
    std::vector<int> nums1 = { 1, 4, 5, 2, 3, 9, 8, 11, 0 };
    std::cout << convertToRanges(nums1) << std::endl;  // Ожидаемый вывод: "0-5,8-9,11"

    std::vector<int> nums2 = { 1, 4, 3, 2 };
    std::cout << convertToRanges(nums2) << std::endl;  // Ожидаемый вывод: "1-4"

    std::vector<int> nums3 = { 1, 4 };
    std::cout << convertToRanges(nums3) << std::endl;  // Ожидаемый вывод: "1,4"

    return 0;
}

Что выведет код?
Anonymous voting

Оптимизируем до последней капли: cache-friendly код на C++ ❓Хотите узнать, как «выжимать» последние проценты скорости в прогр
Оптимизируем до последней капли: cache-friendly код на C++ ❓Хотите узнать, как «выжимать» последние проценты скорости в программе на C++? ⏰ Ждем вас на открытом вебинаре 4 сентября в 20:00 мск, где мы разберем: - как реализовать доступ к оперативной памяти (ОП) в современных системах; - «плохие» и «хорошие» паттерны доступа к ОП; - как писать дружелюбный к кэшу код на C++. Урок идеально подходит для разработчиков, которые заботятся о скорости выполнения кода и уже пишут или планируют перейти на C++. 🔥 Спикер Андрей Рыжиков — разработчик в НИИ обработки аэрокосмических изображений. Встречаемся в преддверии старта курса «Специализация C++ Developer». Все участники вебинара получат специальную цену на обучение! 👉Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://clck.ru/3CyFyj Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Что выведет код?
Anonymous voting

Что будет при попытке компиляции кода?
Anonymous voting

Что выведет код?
Anonymous voting

👾 -35% на курс по алгоритмам На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий
👾 -35% на курс по алгоритмам На курсе вы на практике познакомитесь со сложными алгоритмами и научитесь писать более короткий и эффективный код – https://proglib.io/w/d2892d1b 23 390 рублей 35 990 рублей Что еще вас ждет на курсе: ▪️ 150 практических заданий и 47 видеолекций; ▪️ Бессрочный доступ ко всем материалам курса; ▪️ Развернутая обратная связь по всем домашним заданиям, а также ссылки на полезные дополнительные материалы. 🌚 Переходите на сайт, читайте подробности и заходите на обучение по самым выгодным условиям – https://proglib.io/w/d2892d1b

👁 TLDR: Wunder Fund, Senior Core Engineer, C++, Infrastructure, Алготрейдинг, HFT, remote 💵 Вилка: $5-8k net (на руки) Мы в
👁 TLDR: Wunder Fund, Senior Core Engineer, C++, Infrastructure, Алготрейдинг, HFT, remote 💵 Вилка: $5-8k net (на руки) Мы в Wunder Fund занимаемся высокочастотной алгоритмической торговлей (HFT) на биржах по всему миру последние 10 лет. Для нас очень важна скорость, и мы боремся на микросекунды; иногда — и за наносекунды. 📍Что предстоит делать: Сейчас мы ищем опытного С++ инженера в core-команду торговой системы. Вы будете разрабатывать инфраструктуру для торговли на многих биржах, как классических, так и криптовалютных. Заниматься ускорением торговой системы, внедрять оптимизации и бирже-специфичные хаки. Уверены, что сможем предложить интересные и сложные задачи. 💫 Совершенно точно нужно: - Опыт на С++ от 4 лет, хорошее знание Python 3 - Классические алгоритмы и структуры данных - Опыт системного программирования, понимание работы сетевых протоколов - Опыт профилирования и оптимизации кода 🔎 Условия: - У нас небольшая и сильная команда выпускников МГУ и Физтеха. - Минимум бюрократии, решения принимаются быстро. - Удаленная работа, при желании оплачиваем коворкинг. - Зарплата по результатам: $5k - $8k на руки (есть привязка к валюте, можем платить в долларах или крипте) Для связи: @wunderfund

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting

Что выведет код?
Anonymous voting