Свързани публикации 'cpp'


LeetCode 104- Максимална дълбочина на двоично дърво
„Въпрос“: Като се има предвид root на двоично дърво, върнете максималната му дълбочина . Максималната дълбочина на едно двоично дърво е броят на възлите по най-дългия път от основния възел надолу до най-отдалечения листов възел. Пример 1: Input: root = [3,9,20,null,null,15,7] Output: 3 Решение: В дадената задача трябва да намерим максималната дълбочина на двоичното дърво, което означава, че трябва да намерим височината на дървото. Височината на дървото е..

Поредица от проблеми на книгата с интервюта за кодиране: Проблем 11
Проблем 11: Приложете алгоритъм за намиране на k-тия до последния елемент на единично свързан списък Input: 1->2->3->4->5->6 k = 2 Output: 5 Подход 1: 1. Вземете дължината на свързания списък 2. Стигнете до n-тия възел, като извадите Listlength - k 3. Обходете списъка, докато стойността на n стане 0, това ще бъде k-тият свързан възел на списъка от края Времева сложност: O(N) Интервал: O(1) Подход 2: Тук обикаляме списъка два пъти, веднъж, за да получим..

Дилема на дизайнерските модели — C++ Част 1
Научете различни дизайнерски модели в C++ Четете тази статия, тъй като сте също в същото положение, в което се намират всички програмисти, докато кодират всеки ден, кой модел на проектиране е най-подходящ за тях ? Всеки трябва да е чувал за GoF, които се събраха, за да очертаят различни модели, които са изпитали, докато работят върху широкомащабни системи. Тези модели могат да се прилагат във всеки обектно-ориентиран език. Шаблоните за проектиране са предназначени да решат..

Protocol Buffers, брутален протокол от Google, срещу PVS-Studio, анализатор на статичен код
Protocol Buffers е много популярен, готин и висококачествен продукт, който е разработен предимно от Google. Това е добро предизвикателство за анализатора на статичен код PVS-Studio. Намирането на поне нещо вече е постижение. Нека да опитаме. Пиша за Протоколни буфери (protobuf) като част от дългосрочна поредица от статии за проверка на проекти с отворен код. Библиотеката прилага протокол за сериализация на структурирани данни. Това е ефективна двоична алтернатива на XML..

Спрете да използвате rand(): произволни числа с C++11
Сигурен съм, че в някакъв момент всички сме използвали rand() за генериране на произволни числа. Ако използвате C, нямате голям избор, но ако използвате C++11 (или по-висок), тогава пропускате. C++11 добавя страхотна заглавка <random> , която ви дава нови начини за генериране на произволни числа. В началото е малко по-сложно от просто извикване на rand() , но си заслужава. Кодът е по-лесен за четене, има много повече опции и ще получите правилно разпределение на случайни..

Модерен C++ в появата на код: Ден 14
На четиринадесетия ден от Advent of Code ние симулираме падащ пясък. Насърчавам ви първо да опитате да го разрешите сами https://adventofcode.com . Вход Днешният вход е поредица от сканирания, като всяко сканиране се състои от поредица от координати, които представляват свързани линии. Ще интерпретираме всяко сканиране и ще начертаем съответните линии в нашата карта, която съхраняваме като std::vector<std::vector<char>> . Докато рисуваме линии, ще запомним и..

C++ Standard Template Library (STL): Изчерпателен преглед
Библиотеката със стандартни шаблони (STL) е съществена част от езика за програмиране C++. Това е колекция от шаблонни класове и функции, които предоставят широка гама от структури от данни и алгоритми за ефективно и повторно използвано разработване на код. STL се състои от четири основни компонента: алгоритми, контейнери, функции и итератори. В тази статия ще разгледаме подробно всеки един от тези компоненти, като подчертаем техните характеристики и предимства. Алгоритми : STL..