猫咪可真记仇# pets - 心有所宠
f*m
1 楼
从版上大牛的面经中找到的:
---------------
1)原题can Jump, 然后拓展到minJump, 我用dp + greedy从左边做, 写完code,他要
求再说说从右边忘左边如何高。 我说还是dp + greedy(这个估计是他自己背的答案)
,他想了会说, 算了,好像跟你的一样!我也不知道是不是一样就move 到下一道题了。
从右往左好像不好想吧,从左往右跳(最后跳到最右边)和从右往左跳(最后跳到最左
边)不是等假的吧?
-------------
2)一个BST tree, 现在要求在每个node, 添加一个succeesor的指针。 用递归搞定
(这个在他提示下搞出的,code 用递归就几行而已)
考虑inorder 的succeesor。用inorder traverse,大家看对不对?
void inorder(node* n, node*& prev)
{
if (!n)
return;
inorder(n->left, prev);
if (!pre)
pre->succeesor = n;
pre = n;
inorder(n->right, pre);
}
------------
3) 给一个BST 和一个 int value, 找出和这个value 值最接近的node(老题分分钟搞
定)
-------
inorder traverse,对每个节点计算difference的绝对值,如果心的绝对值大于上一次
计算的,则输出inorder traverse的上一个节点值?
------------
4)二个人轮流打枪的问题算概率, 就是6发装弹夹里面有一颗子弹。然后轮流对照自
己头打,然后在shuffle 对方接着打。 这题没听清就开始做,导致浪费好些世间, 这
个教训大家千万记住了。
不了解这题啥意思?
------------
5) 写个函数 输入7张牌, 然后输出是否有同花顺, 顺子, 和同花。 return 一个
int 然后turn on 里面3个bits
建立一个14*4的矩阵,把输入的排放在矩阵对应的位置,然后扫描每行、每列看能否组
成花顺, 顺子, 和同花。还有跟好的方法吗?
------------
6) 一个billion of urls, 然后让你输出最长的相同的prefix,包含这个prefix url
必须 占75% 以上。
把urls排序,然后放在,比如,100个盘上。既然必须占75%,中间的那个盘上的最长
prefix一定包括最后的那个最长的prefix。所以先算中间盘上的最长prefix,然后向两
边的盘搜索,同时根据情况缩小prfefix的长度,直到处理好75%的盘。对吗?
---------------
1)原题can Jump, 然后拓展到minJump, 我用dp + greedy从左边做, 写完code,他要
求再说说从右边忘左边如何高。 我说还是dp + greedy(这个估计是他自己背的答案)
,他想了会说, 算了,好像跟你的一样!我也不知道是不是一样就move 到下一道题了。
从右往左好像不好想吧,从左往右跳(最后跳到最右边)和从右往左跳(最后跳到最左
边)不是等假的吧?
-------------
2)一个BST tree, 现在要求在每个node, 添加一个succeesor的指针。 用递归搞定
(这个在他提示下搞出的,code 用递归就几行而已)
考虑inorder 的succeesor。用inorder traverse,大家看对不对?
void inorder(node* n, node*& prev)
{
if (!n)
return;
inorder(n->left, prev);
if (!pre)
pre->succeesor = n;
pre = n;
inorder(n->right, pre);
}
------------
3) 给一个BST 和一个 int value, 找出和这个value 值最接近的node(老题分分钟搞
定)
-------
inorder traverse,对每个节点计算difference的绝对值,如果心的绝对值大于上一次
计算的,则输出inorder traverse的上一个节点值?
------------
4)二个人轮流打枪的问题算概率, 就是6发装弹夹里面有一颗子弹。然后轮流对照自
己头打,然后在shuffle 对方接着打。 这题没听清就开始做,导致浪费好些世间, 这
个教训大家千万记住了。
不了解这题啥意思?
------------
5) 写个函数 输入7张牌, 然后输出是否有同花顺, 顺子, 和同花。 return 一个
int 然后turn on 里面3个bits
建立一个14*4的矩阵,把输入的排放在矩阵对应的位置,然后扫描每行、每列看能否组
成花顺, 顺子, 和同花。还有跟好的方法吗?
------------
6) 一个billion of urls, 然后让你输出最长的相同的prefix,包含这个prefix url
必须 占75% 以上。
把urls排序,然后放在,比如,100个盘上。既然必须占75%,中间的那个盘上的最长
prefix一定包括最后的那个最长的prefix。所以先算中间盘上的最长prefix,然后向两
边的盘搜索,同时根据情况缩小prfefix的长度,直到处理好75%的盘。对吗?