Решил я проходить LeetCode Challenge, который длиться целый месяц. Задачки решаю с использованием golang, python или С++. В этот раз выбор пал именно на С++.
Знаю точно, что решил задачу самым оптимальным путем (с точки зрения алгоритмической сложности).
Публикую результат…
Принято…
Смотрю результат производительности: Мой код быстрее 78% пользователей. Т.е. кто-то написал более оптимальный код? Эм, это как?
В leetcode, благо, можно посмотреть решения других участников. И вот какие заветные 3 строчки я увидел:
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);
Вот тут можно почитать подробнее о вводе\выводе
Если в кратце:
В замеры производительность так же входит чтение и запись тестовых данных с потоков ввода\вывода.
Эти 3 функции значительно ускоряют производительность:
Первая функцию отключения синхронизации iostreams с stdio
Вторая и третья - отключают взимных проверки для сброса буфера.