查看: 1735| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[树/链表/图] 问一道狗家高频,Max Product Of Binary Tree

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
LeetCode 124的变种,但是我发现我这么写的话,好像跟原题没区别?我本地跑了一下testcase感觉没问题,求指正错误,另外FU如果有负数的话,取左右路径中绝对值最大的就行了吧?

  1. /**
  2.    *  Input: [10,9,20,null,null,15,7]

  3.    10
  4.   /   \
  5. 9   20
  6.      /   \
  7.    15   7

  8.    Output: 10 * 9 * 20 * 15 =27000
  9.    */

  10.   //顶点:路径中高度最大的点
  11.   //递归的定义:以root为顶点直上直下的path中乘积最大的一条
  12.   private int dfs(TreeNode root){
  13.    
  14.     if(root == null) return 1;
  15.    
  16.     int l=dfs(root.left);
  17.     int r=dfs(root.right);
  18.     int product=l*r*root.val;
  19.     ans[0]=Math.max(ans[0],product);
  20.     //注意递归的定义,这里要返回左右path中乘积最大的一条
  21.     return Math.max(l,r)*root.val;
  22.   }
复制代码



上一篇:LeetCode 787, 实在是不知道自己错在哪了,找不出逻辑错误了
下一篇:请教一道amazon面试题 video watched by friends
地里匿名用户
🔗
匿名用户-YZKOB  2019-12-22 02:19:02
本帖最后由 匿名 于 2019-12-22 02:21 编辑

ans[0] 是什么啊
回复

使用道具 举报

🔗
337845818 2019-12-23 23:05:29 | 只看该作者
全局:
没啥毛病, 这是helper function。 外面还有一层要再最后判断一次ans【0】跟左x右x根谁大
回复

使用道具 举报

🔗
Oceanid77 2019-12-24 02:38:16 | 只看该作者
全局:
本帖最后由 Oceanid77 于 2019-12-24 02:46 编辑

如果l和r两个变量中有一个是负数,有一个是正数,这样比较大小或者比较绝对值大小,然后return好像都不合适。
回复

使用道具 举报

🔗
Oceanid77 2019-12-24 02:55:44 | 只看该作者
全局:
-10                       
/   \
9   20
    /   \
  -15   7        这个在20那个节点要返回的是乘积小的那个才会找到最大值。                                                            
回复

使用道具 举报

全局:
因为有可能有负数,在helper里需要同时return 最大 最小 两个值,而不是只追踪最大。
回复

使用道具 举报

🔗
 楼主| codyman 2019-12-24 10:59:10 | 只看该作者
全局:
dreamrus 发表于 2019-12-24 03:00
因为有可能有负数,在helper里需要同时return 最大 最小 两个值,而不是只追踪最大。

一个方法怎么同事return两个值?
回复

使用道具 举报

🔗
mintHotChocolat 2019-12-24 16:28:39 | 只看该作者
全局:
codyman 发表于 2019-12-24 10:59
一个方法怎么同事return两个值?

返回一个int[]
回复

使用道具 举报

🔗
 楼主| codyman 2019-12-24 16:33:36 | 只看该作者
全局:

老哥可否上码明示?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表