由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - largest bst 解法不理解的地方
相关主题
请教这么一个题:BST maximum sum pathAmazon 打印给定node距离最近的K个nodes
BST查找next lowest 可以达到 O(lg N)?查找binary tree中有多少个uni-valued subtree
请问LC上一道题:Validate BST问一道google面经
这个Binary Tree的题来看看问几个老算法题的最佳解法
报google nyc offer,并分享面经rebuild a tree from inorder and level order
Unique Binary Search Trees II的复杂度怎么算啊?多谢!L家的面试体验让人有些无语
Uni_value subtree problemrecovery BST 不考虑相同值的情况么?
careercup 150 4.1 balanced tree 有错?find Kth Largest Element 有没有更简化的解法
相关话题的讨论汇总
话题: result话题: int话题: res话题: min
进入JobHunting版参与讨论
1 (共1页)
h*******3
发帖数: 52
1
Largest BST Subtree 的 best solution, 哪位大神给我讲讲最后那个 result 是怎
么构造的?为什么是那么构造的?
public class Solution {
class Result {
int res;
int min;
int max;
public Result(int res, int min, int max) {
this.res = res;
this.min = min;
this.max = max;
}
}
public int largestBSTSubtree(TreeNode root) {
Result res = BSTSubstree(root);
return Math.abs(res.res);
}
private Result BSTSubstree(TreeNode root) {
if (root == null) return new Result(0, Integer.MAX_VALUE, Integer.
MIN_VALUE);
Result left = BSTSubstree(root.left);
Result right = BSTSubstree(root.right);
if (left.res < 0 || right.res < 0 || root.val < left.max || root.val
> right.min) {
return new Result(Math.max(Math.abs(left.res), Math.abs(right.
res)) * -1, 0, 0);
} else {
return new Result(left.res + right.res + 1, Math.min(root.val,
left.min), Math.max(root.val, right.max));
}
}
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
find Kth Largest Element 有没有更简化的解法报google nyc offer,并分享面经
请问二叉搜索树如何找到两个点的最近祖先?Unique Binary Search Trees II的复杂度怎么算啊?多谢!
这最小公共父母节点有bug吗?Uni_value subtree problem
大家帮忙看看 问题在哪啊?由preorder 来建 bst,为什么后面没careercup 150 4.1 balanced tree 有错?
请教这么一个题:BST maximum sum pathAmazon 打印给定node距离最近的K个nodes
BST查找next lowest 可以达到 O(lg N)?查找binary tree中有多少个uni-valued subtree
请问LC上一道题:Validate BST问一道google面经
这个Binary Tree的题来看看问几个老算法题的最佳解法
相关话题的讨论汇总
话题: result话题: int话题: res话题: min