Библиотека задач по C++ | тесты, код, задания
19.9K subscribers
961 photos
5 videos
270 links
Задачи и тесты по C++ для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7a480301

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🧩 Задача на выходные: правильная ли это BST?

Классическая ловушка на собеседованиях. Этот код проверяет BST неправильно:

bool isValidBST(TreeNode* node) {
if (!node) return true;
if (node->left && node->left->val >= node->val) return false;
if (node->right && node->right->val <= node->val) return false;
return isValidBST(node->left) && isValidBST(node->right);
}



Для дерева:
    5
/ \
1 4
/ \
3 6


Функция вернёт true. Но это не BST!

✏️ Объясни баг и перепиши функцию корректно.


📍Навигация:
ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Найди баг: копирование строки сломало указатель

#include <string>
#include <iostream>

struct Token {
std::string value;
const char* ptr;

Token(const std::string& s) : value(s), ptr(value.data()) {}
};

int main() {
Token t1("hi");
Token t2 = t1; // копируем

std::cout << t1.ptr << "\n"; // "hi"
std::cout << t2.ptr << "\n"; // ???
}


‼️ Задача: найди баг (если он есть), объясни, почему он связан с SSO, и предложи исправление.

📍Навигация: ВакансииЗадачиСобесы

Библиотека C/C++ разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM