Публикации по теме 'cpp'


LeetCode - объединить два отсортированных массива
Постановка задачи Вам даны два целых массива nums1 и nums2 , отсортированные в неубывающем порядке, и два целых числа m и n , представляющий количество элементов в nums1 и nums2 соответственно. Объедините nums1 и nums2 в один массив, отсортированный в неубывающем порядке . Окончательный отсортированный массив не должен возвращаться функцией, а должен храниться внутри массива nums1 . Для этого nums1 имеет длину m + n , где первые m элементы обозначают..

Принцип открытости-закрытости | ТВЕРДЫЙ как скала
Это вторая часть из пяти частей, посвященных принципу проектирования SOLID as Rock. Принципы проектирования SOLID, объединенные вместе, позволяют программисту создавать программное обеспечение, которое легко поддерживать, повторно использовать и расширять. O pen- C потерянный P принцип (OCP) - второй принцип в этой серии, который я буду обсуждать здесь на минималистичном примере в Modern C ++ Вместе с его преимуществами и общим руководством. /! \: Первоначально опубликовано..

Запись на Pwnable.kr - uaf
Это хорошо продуманная и простая задача для отработки взломов. Его название уже говорит вам, что использовать: use-after-free. Но как? Сначала прочтите исходный код, чтобы понять, что он делает: Он выделяет два объекта C ++ из кучи в начале main () Это дает нам 3 варианта: 1) Вызвать виртуальную функцию этих двух объектов; 2) Выделите новую память, размер которой указан в первом аргументе cmdline, содержимое которого заполняется файлом, указанным во втором аргументе cmdline; 3)..

Алгоритм KMP, понять его
Алгоритм KMP — это относительно быстрый способ найти слово (W) в строке (S). Я потратил некоторое время на борьбу с математическими представлениями, чтобы понять идею. Здесь я хочу отметить, как понять это более простыми словами. Как работает KMP (не обращайте внимания на то, как получить T): Сравните S с W, начиная с самого левого символа, по одному символу за раз. Если S[i] != W[j] вместо того, чтобы сдвинуть W вправо на 1 шаг, мы просматриваем таблицу T. T[j] сообщает: W[j],..

Как залезть на дерево
Вернее, как слезть с него. Но обо всем по порядку. Эта статья немного отличается от обычного формата статей от PVS-Studio. Мы часто пишем о проверке других проектов, но почти никогда не приоткрываем завесу над нашей внутренней работой. Пришло время исправить это упущение и рассказать о том, как устроен анализатор изнутри. Точнее, о самой важной его части — синтаксическом дереве. В статье речь пойдет о той части PVS-Studio, которая относится к языкам C и C++. Перво-наперво..

Шерлок и Квадраты HackerRank
Проблема : Ватсон любит бросать вызов математическим способностям Шерлока. Он предоставит начальное и конечное значение, описывающее диапазон целых чисел. Шерлок должен определить количество квадратных целых чисел в этом диапазоне, включая конечные точки. Примечание . Квадратное целое число — это целое число, являющееся квадратом целого числа, например 1, 4, 9, 16, 25 . Например, диапазон составляет a = 24 и b = 49 включительно. В диапазоне есть три квадратных целых числа:..