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
}

运行结果

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

相关推荐
叩码以求索21 分钟前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
孫治AllenSun1 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238562 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims3 小时前
星闪在跨域无人化系统作用
开发语言·php
aaaameliaaa3 小时前
指针之总结
c语言·笔记·算法
宵时待雨3 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz3 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2163 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件
MemoleCard3 小时前
深度解析Java当中的锁机制
后端