由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - fb面经,附答案,求大牛指点
相关主题
求教几道面试题~一道google面试题
Twitter电面未通过包子求大牛:C++的list iterator实现
BST面试题yelp 面经
Haker Rank Median...大牛们帮忙,Rverse Nodes in k-Group
least common ancestor的疑惑被VMWARE鄙视了(面经并求comment)
find the k-th maximum node in a binary search tree 有疑问Interview question::
回馈本版,新鲜店面,新题新气象二叉树按层次打印有没有办法换行显示?
热腾腾的 LinkedIn 电面题攒RP求教:binary search tree中找第i大的数
相关话题的讨论汇总
话题: node话题: val话题: parent话题: return话题: root
进入JobHunting版参与讨论
1 (共1页)
r*****e
发帖数: 30
1
国内小伙伴,刚面fb,分享一下题目和答案
给一个bst,和其中一个节点的value,求在bst中比这个节点大的下一个node
,O(1) space和 O(log N) time的解法,有Parent指针
struct node{
int val;
node* left;
node* right;
node* parent;
node(int v){
val = v;
parent = left = right = NULL;
}
};
node* find(node* root, int val){
if(!root) return NULL;
if(root->val == val) return root;
if(root->val < val) return find(root->right, val);
return find(root->left, val);
}
node* next(node* n){
if(!n) return NULL;
if(n->right){
node* p = n->right;
while(p->left) p = p->left;
return p;
}
p = n->parent;
while(p){
if(p->left == n) break;
n = p;
p = p->parent;
}
return p;
}
r*****e
发帖数: 30
2
给定一个vector> v
其中string表示user id, int表示该user发帖数,找出发帖最多的k个用户
void kth(vector>& v, int begin, int end, int k){
if(end-begin+1 int i = begin, j = end;
pair pivot = v[end];
while(i < j){
while(i < j && v[i].second >= pivot.second) i++;
if(i < j) v[j--] = v[i];
while(i < j && v[j].second <= pivot.second) j--;
if(i < j) v[i++] = v[j];
}
v[i] = pivot;
if(i-begin+1 == k) return ;
if(i-begin+1 < k) return kth(v, i+1, end, k-(i-begin+1));
return kth(v, begin, i-1, k);
}
l*******0
发帖数: 95
3
就是找后继节点呀
if node.right ! = null
return maxNode(node.right);
else
Node parent = node.parent;
while(parent.right == node) {
node = parent;
parent = node.parent;
}
return parent;
w*****t
发帖数: 485
4
赞楼主分享!
是在国内面的吗?

【在 r*****e 的大作中提到】
: 国内小伙伴,刚面fb,分享一下题目和答案
: 给一个bst,和其中一个节点的value,求在bst中比这个节点大的下一个node
: ,O(1) space和 O(log N) time的解法,有Parent指针
: struct node{
: int val;
: node* left;
: node* right;
: node* parent;
: node(int v){
: val = v;

f********a
发帖数: 367
5
forgot to check for null after Node parent = node.parent;

【在 l*******0 的大作中提到】
: 就是找后继节点呀
: if node.right ! = null
: return maxNode(node.right);
: else
: Node parent = node.parent;
: while(parent.right == node) {
: node = parent;
: parent = node.parent;
: }
: return parent;

w*****t
发帖数: 485
6
恩,总体难度如何? 设计题呢?

【在 r*****e 的大作中提到】
: 给定一个vector> v
: 其中string表示user id, int表示该user发帖数,找出发帖最多的k个用户
: void kth(vector>& v, int begin, int end, int k){
: if(end-begin+1 : int i = begin, j = end;
: pair pivot = v[end];
: while(i < j){
: while(i < j && v[i].second >= pivot.second) i++;
: if(i < j) v[j--] = v[i];
: while(i < j && v[j].second <= pivot.second) j--;

w*****t
发帖数: 485
7
pivot的选取有要求吗?

【在 r*****e 的大作中提到】
: 给定一个vector> v
: 其中string表示user id, int表示该user发帖数,找出发帖最多的k个用户
: void kth(vector>& v, int begin, int end, int k){
: if(end-begin+1 : int i = begin, j = end;
: pair pivot = v[end];
: while(i < j){
: while(i < j && v[i].second >= pivot.second) i++;
: if(i < j) v[j--] = v[i];
: while(i < j && v[j].second <= pivot.second) j--;

r*****e
发帖数: 30
8
没有碰到设计题
r*****e
发帖数: 30
9
pivot自己定
f********a
发帖数: 367
10
this looks like a phone interview ....
相关主题
find the k-th maximum node in a binary search tree 有疑问一道google面试题
回馈本版,新鲜店面,新题新气象包子求大牛:C++的list iterator实现
热腾腾的 LinkedIn 电面题攒RPyelp 面经
进入JobHunting版参与讨论
m******a
发帖数: 84
11
你是不是工作不满一年?所以没有设计题
r*****e
发帖数: 30
12
还有两道lc的题,fb一定有设计题?
l**o
发帖数: 25
13
哪两道? 透露一下呗

【在 r*****e 的大作中提到】
: 还有两道lc的题,fb一定有设计题?
j*****g
发帖数: 47
14
bst题的那一轮中,还有一题是什么?还是这轮中只有bst一题?
h***k
发帖数: 161
15
第二题是找第k个还是前k个?不熟悉c++,能细讲下思路吗
r*****e
发帖数: 30
16
reverse string
jump game
没有设计题
1 (共1页)
进入JobHunting版参与讨论
相关主题
求教:binary search tree中找第i大的数least common ancestor的疑惑
谷歌 电面find the k-th maximum node in a binary search tree 有疑问
问一个careercup的题回馈本版,新鲜店面,新题新气象
想到一道老题热腾腾的 LinkedIn 电面题攒RP
求教几道面试题~一道google面试题
Twitter电面未通过包子求大牛:C++的list iterator实现
BST面试题yelp 面经
Haker Rank Median...大牛们帮忙,Rverse Nodes in k-Group
相关话题的讨论汇总
话题: node话题: val话题: parent话题: return话题: root