Leetcode—1339. 分裂二叉树的最大乘积【中等】

2025每日刷题(234)

Leetcode---1339. 分裂二叉树的最大乘积

dfs实现代码

go 复制代码
/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func maxProduct(root *TreeNode) int {
    var sum func(root *TreeNode) int
    sum = func(root *TreeNode) int {
        if(root == nil) {
            return 0
        }
        return root.Val + sum(root.Left) + sum(root.Right)
    }
    s := sum(root)

    const mod = 1e9 + 7
    var ans int
    var dfs func(root *TreeNode) int
    dfs = func(root *TreeNode) int {
        if(root == nil) {
            return 0
        }
        t := root.Val + dfs(root.Left) + dfs(root.Right)
        if(t < s) {
            ans = max(ans, t * (s - t))
        }
        return t
    }
    dfs(root)
    ans %= mod
    return ans
}

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

相关推荐
TracyCoder123几秒前
LeetCode Hot100(13/100)——238. 除了自身以外数组的乘积
算法·leetcode
CoderCodingNo2 分钟前
【GESP】C++五级练习题 luogu-P3353 在你窗外闪耀的星星
开发语言·c++·算法
Anastasiozzzz6 分钟前
LeetCode Hot100 215. 数组中的第K个最大元素
数据结构·算法·leetcode
让我上个超影吧7 分钟前
【力扣76】最小覆盖子串
算法·leetcode·职场和发展
NMIXX爻11 分钟前
线程控制 下
java·开发语言·jvm
Howrun77713 分钟前
C++ 类间交互
开发语言·c++
近津薪荼21 分钟前
优选算法——双指针5(单调性)
c++·学习·算法
2401_8576835428 分钟前
C++代码静态检测
开发语言·c++·算法
时艰.33 分钟前
JVM 垃圾收集器(G1&ZGC)
java·jvm·算法
2401_8384725133 分钟前
内存泄漏自动检测系统
开发语言·c++·算法