Оценить заданное выражение
Получив выражение, содержащее числовые операнды с операторами сложения и вычитания, оцените его. Выражение может содержать подвыражения, заключенные в открывающие и закрывающие фигурные скобки.
Получив выражение, содержащее числовые операнды с операторами сложения и вычитания, оцените его. Выражение может содержать подвыражения, заключенные в открывающие и закрывающие фигурные скобки.
Строка, которая может содержать несколько последовательных экземпляров одного и того же значения, закодирована так, чтобы хранить только это значение и его количество. Получив такую закодированную последовательность, расшифруйте ее.
Даны бинарное дерево и целое число k
, подсчитайте общее количество путей в дереве, у которых сумма всех узлов равна k
.
Получив целочисленный массив, уменьшите его, удалив соседние триплеты, которые удовлетворяют заданным ограничениям, и верните общее количество элементов в результирующем массиве.
Имея два сбалансированных по высоте двоичных дерева поиска, на месте объедините их в одно сбалансированное двоичное дерево поиска. Для каждого узла сбалансированного по высоте дерева разница между высотой его левого и правого поддерева не превышает 1.
Данный r
красный, b
синий и g
зеленых шаров, найдите общее количество расстановок в ряду, при которых никакие два шара одного цвета не окажутся вместе.
Учитывая целочисленный массив, усеките его так, чтобы 2×min
становится больше, чем max
, а общее количество удалений минимально. Элементы могут быть удалены либо из начала, либо из конца массива, если вышеуказанное условие не выполняется.
Учитывая набор слов, проверьте, можно ли отдельные слова переставить так, чтобы образовался круг. Два слова, X
а также Y
, можно соединить в кружок, если последний символ X
совпадает с первым символом Y
или наоборот.
Учитывая прямоугольную бинарную матрицу, вычислите площадь наибольшего прямоугольника из единиц в ней. Предположим, что прямоугольник можно сформировать, переставив любое количество столбцов местами друг с другом.
Для заданного ориентированного Graph проверить, можно ли построить цикл, который посещает каждое ребро ровно один раз, т. е. проверить, есть ли в Graph эйлеров цикл или нет.
Имея два бинарных дерева, проверьте, совпадают ли обходы листьев обоих деревьев или нет.
Для заданного бинарного дерева напишите эффективный алгоритм для нахождения максимальной суммы путей между любыми двумя узлами в нем. Путь может начинаться и заканчиваться в любом узле дерева и не должен проходить через корень.