и посмотреть медиа
Entry Point - programming basics
и посмотреть медиа
Basic knowledge on programming fundamentals for beginners.
Basic knowledge on programming fundamentals for beginners.
Course of fundamental concepts: algorithms, data structures, programming languages. Ideal for beginners without experience.
Почему проверка ключа через [] незаметно меняет unordered_map В C++ контейнер unordered_map хранит значения по ключам. Но выражение mp[key] не просто ищет ключ: если его нет, контейнер создаёт новую запись со значением 0. Поэтому условие if (mp[complement]) в задаче Two Sum формально работало с индексами от единицы, однако каждый неудачный поиск раздувал таблицу лишними записями. Автор разбора на DEV Community заменил квадратные скобки на find(): в его замере время сократилось с 3 до 0 мс. Этот метод возвращает признак отсутствия ключа и не добавляет запись. В C++20 для простой проверки наличия есть contains(). Попробуйте повторить пример и вывести размер таблицы после нескольких промахов. Если вопрос к контейнеру меняет его размер, для проверки ключа нужны find() или contains().
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!