一亩三分地

 找回密码 注册账号

扫描二维码登录本站

最近看过此主题的会员


码农求职神器Triplebyte
不用海投
内推多家公司面试

Total Comp Calculator
输入offer信息
系统自动计算每年收入

科技公司如何
用数据分析驱动产品开发
coupon code 250off 立减$250

深入浅出AB Test
从入门到精通
coupon code 250off 立减$250
游戏初创公司招聘工程师、UIUX Designer和游戏策划
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
楼主: zhangrz2
收起左侧

[打卡] 多伦多在职每日刷题打卡也欢迎组队

[复制链接] |试试Instant~
我的人缘0
 楼主| zhangrz2 发表于 10 小时前 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (15)
 
 
0% (0)    👎
身体不舒服,暂停一天
回复 微信

使用道具 举报

我的人缘0
 楼主| zhangrz2 发表于 10 小时前 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (15)
 
 
0% (0)    👎
身体不舒服,暂停一天
回复

使用道具 举报

我的人缘0
 楼主| zhangrz2 发表于 9 小时前 | 显示全部楼层
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (15)
 
 
0% (0)    👎
333. Largest BST Subtree

[Java] 纯文本查看 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */

//using array to store value
// array[0] min array[1] max array[2] = subtree Size
// watch out the usage of min and max value
class Solution {
    public int largestBSTSubtree(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int[] res = findSize(root);
        return res[2];
    }
    
    private int[] findSize(TreeNode root) {
        if (root == null) {
            return new int[]{Integer.MAX_VALUE, Integer.MIN_VALUE, 0};
        }
        int[] left = findSize(root.left);
        int[] right = findSize(root.right);
        if (root.val > left[1] && root.val < right[0]) {
            // we are updating the min and max to indicate the subtree is BST or not
            return new int[]{Math.min(left[0], root.val), Math.max(right[1], root.val), left[2] + right[2] + 1};
        }else {
            return new int[]{Integer.MIN_VALUE, Integer.MAX_VALUE, Math.max(left[2], right[2])};
        }
    }
}
回复

使用道具 举报

游客
请先登录
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地

GMT+8, 2019-7-18 18:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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