Веб-версияОткрыть в Telegram

ПостЗадача: 1339. Maximum Product of Splitted Binary Tree

29 сентября 2026
J
Java | LeetCode
Задача: 1339. Maximum Product of Splitted Binary Tree Сложность: medium Дано корневое дерево. Разделите бинарное дерево на два поддерева, удалив одно ребро так, чтобы произведение сумм поддеревьев было максимальным. Верните максимальное произведение сумм двух поддеревьев. Поскольку ответ может быть слишком большим, верните его по модулю 10^9 + 7. Обратите внимание, что вам нужно максимально увеличить ответ до взятия модуля, а не после. Пример: Input: root = [1,2,3,4,5,6] Output: 110 Explanation: Remove the red edge and get 2 binary trees with sum 11 and 10. Their product is 110 (11*10) 👨‍💻 Алгоритм: 1⃣Рассчитать сумму значений всех узлов дерева и сохранить суммы всех поддеревьев в списке. 2⃣Перебрать все сохраненные суммы поддеревьев и для каждой вычислить произведение суммы поддерева и разности между общей суммой дерева и данной суммой поддерева. 3⃣Найти максимальное произведение среди всех вычисленных и вернуть его значение по модулю 10^9 + 7. 😎 Решение: class Solution { private List<Integer> allSums = new ArrayList<>(); public int maxProduct(TreeNode root) { long totalSum = treeSum(root); long best = 0; for (long sum : allSums) { best = Math.max(best, sum * (totalSum - sum)); } return (int)(best % 1000000007); } private int treeSum(TreeNode subroot) { if (subroot == null) return 0; int leftSum = treeSum(subroot.left); int rightSum = treeSum(subroot.right); int totalSum = leftSum + rightSum + subroot.val; allSums.add(totalSum); return totalSum; } } Ставь 👍 и забирай 📚 Базу знаний
1 · 523 ·

Рядом в ленте

JJava | LeetCodeЗадача: 947. Most Stones Removed with Same Row or Column Сложность: medium Учитывая массив stones длины n, где stones[i] = [xi, yi] представляет местоположение JJava | LeetCodeЗадача: 836. Rectangle Overlap Сложность: easy Прямоугольник, выровненный по осям, представляется в виде списка [x1, y1, x2, y2], где (x1, y1) — координата его
это сообщение
JJava | LeetCodeЗадача: 247. Strobogrammatic Number II Сложность: medium Дано целое число n, верните все стробограмматические числа длины n. Ответ можно возвращать в любом поряJJava | LeetCodeЗадача: 1345. Jump Game IV Сложность: hard Дан массив целых чисел arr, изначально вы находитесь на первом индексе массива. За один шаг вы можете прыгнуть с инде
JJava | LeetCodeJava | LeetCode@easy_java_task · канал · Технологии
6 449подписчиков410средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем