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
}

运行结果

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

相关推荐
夜雪一千4 分钟前
Python如何使用XPath定位没有特征的元素?无id、无class通用定位技巧
开发语言·python
AINative软件工程4 分钟前
模型路由别写死在代码里:Policy-as-Code 才是 LLM 成本和质量的刹车片
后端
Mem0rin9 分钟前
二分查找:左右边界
数据结构·算法
艾莉丝努力练剑13 分钟前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
流浪00121 分钟前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·python
小蒜学长23 分钟前
“喵汪联盟”宠物领养系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·宠物
光影少年25 分钟前
react离线缓存、图片缓存方案
开发语言·前端·javascript·react native·react.js·缓存·前端框架
SomeB1oody30 分钟前
【RustyML入门】3.7. 循环层
开发语言·后端·机器学习·rust·教程
言乐63 小时前
Python游戏水平测试辅助系统
开发语言·python·游戏·django·pygame
大明者省10 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉