由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - G的一道考题
相关主题
G家实习电面总结我今年的第一次面试,恶心坏了
今天面试惨败,分享面经leetcode 上单链表转BST那道题求指导
讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径问到G家题
c语言实现TreeFee一道面试题
狗狗家onsite面经为什么quicksort会比heapsort快?
感觉Binary Tree Postorder Traversal的iterative是三种traversal中最难的A家,link all node in the same lev
这个check whether a binary tree is a BST 问题生成树
一个老题binary tree找 lowest common ancestor 的code (请教G题,把binary tree里面的sibling节点连接起来
相关话题的讨论汇总
话题: return话题: int话题: findrange话题: binarynode
进入JobHunting版参与讨论
1 (共1页)
z*******o
发帖数: 4773
1
一个BST, 给你一个区间, 返回结点值全部在区间内的子树的结点个数.
比如:
2
1 3
区间 [1,2], 只有子树1,
返回结点个数1 .
h*********2
发帖数: 444
2
感觉只能O(n)啊
有log n的解法吗?
H******7
发帖数: 1728
3
随便写一個 见笑了
TreeNode findRange(TreeNode root, int l, int r){
if(root == null) return root;
if(root.val < l){
return findRange(root.left, l, r);
} else if(root.val > r){
return findRange(root.right, l, r);
} else {
if(root.val == l){
if(root.left == null){
return root;
} else {
return findRange(root.right, l, r);
}
} else if(root.val == r){
if(root.right == null){
return root;
} else {
return findRange(root.left, l, r);
}
}
}
return root;
}
H******7
发帖数: 1728
4
有没有更好的解法
P**********0
发帖数: 412
5
上面的解法,是不是return的值不对,现在要求的是子树的结点个数
j**********0
发帖数: 20
6
public static class BinaryNode{
BinaryNode leftChild;
BinaryNode rightChild;
int val;
public BinaryNode(int val) {
super();
this.val = val;
}

}

public int find(BinaryNode node, int from, int to){
int[] inRangeSubTree=new int[1];
find(node, from, to, inRangeSubTree);
return inRangeSubTree[0];
}

public boolean find(BinaryNode node, int from, int to, int[]
inRangeSubTree){
if (node==null){
return true;
}

boolean allInRangeLeft=false;
if (node.val>=from){
allInRangeLeft=find(node.leftChild, from, to,inRangeSubTree);
}

boolean allInRangeRight=false;
if (node.val<=to){
allInRangeRight=find(node.rightChild, from, to, inRangeSubTree);
}

if (allInRangeLeft && allInRangeRight && (node.val>=from&& node.val<
=to)){
inRangeSubTree[0]++;
return true;
}
return false;
}
n******n
发帖数: 12088
7
什么叫子树的节点数目?

【在 z*******o 的大作中提到】
: 一个BST, 给你一个区间, 返回结点值全部在区间内的子树的结点个数.
: 比如:
: 2
: 1 3
: 区间 [1,2], 只有子树1,
: 返回结点个数1 .

S******n
发帖数: 489
8
应该是能找到多少颗子树,这些子树内的节点的值都在给定范围内。
h**p
发帖数: 211
9
感觉不会有lgN的解法,除非对树的形状有规定,比如perfect bst
普通的bst怎么用lgN的方法得到某一个sub tree的里面的节点个数?更别提规定值得大
小了

【在 z*******o 的大作中提到】
: 一个BST, 给你一个区间, 返回结点值全部在区间内的子树的结点个数.
: 比如:
: 2
: 1 3
: 区间 [1,2], 只有子树1,
: 返回结点个数1 .

1 (共1页)
进入JobHunting版参与讨论
相关主题
G题,把binary tree里面的sibling节点连接起来狗狗家onsite面经
狗电面感觉Binary Tree Postorder Traversal的iterative是三种traversal中最难的
T第二轮面经这个check whether a binary tree is a BST 问题
Amazon onsite 面经一个老题binary tree找 lowest common ancestor 的code (请教
G家实习电面总结我今年的第一次面试,恶心坏了
今天面试惨败,分享面经leetcode 上单链表转BST那道题求指导
讨论Amazon的一道题:根节点到叶节点之间最小和,并打印路径问到G家题
c语言实现TreeFee一道面试题
相关话题的讨论汇总
话题: return话题: int话题: findrange话题: binarynode