没结婚也能买房啊!大波士顿地区买房小tips

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
[Google级团队]:实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习职位
日志易机器大数据行业践行者Web/大数据/机器学习等职位-北京or深圳
把贵司招聘信息放这里
查看: 3008|回复: 10
收起左侧

5分钟前fb实习一面

[复制链接] |试试Instant~ |关注本帖
Cathy667 发表于 2016-11-11 07:22:42 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类General 博士 实习@Facebook - 内推 - 技术电面  | Other | fresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x

一个印度小哥大约晚了15分钟打来了电话,一开始问我要不要换时间,因为他晚了,我说都可以,结果就继续面了。
开始他做了一下自我介绍,说了一大堆他的项目,他也问了我自己做的项目,大约15分钟。
接着开始做题:
1. first bad version
口头run test case
2. 有点像LC 297,但是是BST,而且给出了一个preorder的list,没有#标识符表示空节点;之后我提出来如果没有标识符符好像没法知道是不是空节点......脑子抽了一下,应该用BST的性质;之后提示说可以每个节点加一个parent......

最后一题真心不知道答得对不对,他最后说了一句没时间了,interesting solution。然后问了个问题就结束了。。。。。。
. 1point3acres.com/bbs
心里真是没底,求过啊。。。。。


补充内容 (2016-11-11 10:07):. from: 1point3acres.com/bbs
第二题补充下,是要求从preorder list转化成BST树,return root

补充内容 (2016-11-17 00:58):
一面幸运的过了,二面希望一切顺利,大家加油!

评分

1

查看全部评分

wtcupup 发表于 2016-11-11 07:55:50 | 显示全部楼层
感觉第二题是这个链接里的高票答案 http://stackoverflow.com/questions/4611555/how-to-serialize-binary-tree
回复 支持 反对

使用道具 举报

wangyuesong2 发表于 2016-11-11 08:43:12 | 显示全部楼层
如果是BST的话,给了一个preorder的sequence是不是可以根据这个题https://leetcode.com/problems/verify-preorder-sequence-in-binary-search-tree/ leetcode255来做啊。
回复 支持 反对

使用道具 举报

Badger96 发表于 2016-11-11 09:54:11 | 显示全部楼层
请问楼主第二题要求出什么呢?是LC 255吗?
回复 支持 反对

使用道具 举报

 楼主| Cathy667 发表于 2016-11-11 10:08:45 | 显示全部楼层
Badger96 发表于 2016-11-11 09:54
请问楼主第二题要求出什么呢?是LC 255吗?
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
还原成BST树,return root
回复 支持 反对

使用道具 举报

xueqi 发表于 2016-11-11 12:02:02 来自手机 | 显示全部楼层
Preorder的话,如果是aLR的话,all in L is less than a, all in R is bigger than a. Just recursive build left and right with L and R. Right?
回复 支持 反对

使用道具 举报

 楼主| Cathy667 发表于 2016-11-11 12:07:45 | 显示全部楼层
xueqi 发表于 2016-11-11 12:02
Preorder的话,如果是aLR的话,all in L is less than a, all in R is bigger than a. Just recursive buil ...

我是这么想的,写的也差不多是这样,不知道写没写对。。。。
回复 支持 反对

使用道具 举报

e5399014 发表于 2016-11-11 23:58:26 | 显示全部楼层
  1. package test;

  2. //A binary tree node
  3. class Node {

  4.         int data;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  5.         Node left, right;

  6.         Node(int d) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  7.                 data = d;
  8.                 left = right = null;
  9.         }
  10. }

  11. class BinaryTree{
  12.         -google 1point3acres
  13.         // A recursive function to construct Full from pre[]. preIndex is used
  14.         // to keep track of index in pre[].
  15.         Node constructTreeUtil(int pre[], int lo, int hi) {
  16.                
  17.                 // Base case
  18.                 if (lo > hi) return null;

  19.                 // The first node in preorder traversal is root. So take the node at
  20.                 // preIndex from pre[] and make it root, and increment preIndex
  21.                 Node root = new Node(pre[lo]);
  22.                 . From 1point 3acres bbs
  23.                 // If the current subarry has only one element, no need to recur
  24.                 if (lo == hi) return root;. 1point 3acres 璁哄潧

  25.                 // Search for the first element greater than root. From 1point 3acres bbs
  26.                 int i;
    . more info on 1point3acres.com
  27.                 for (i = lo; i <= hi; ++i) {
  28.                         if (pre[i] > root.data) break;
  29.                 }

  30.                 // Use the index of element found in preorder to divide preorder array in
  31.                 // two parts. Left subtree and right subtree 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  32.                 root.left = constructTreeUtil(pre, lo + 1, i - 1);
  33.                 root.right = constructTreeUtil(pre, i, hi);

  34.                 return root;
  35.         }

  36.         // The main function to construct BST from given preorder traversal.
  37.         // This function mainly uses constructTreeUtil()
  38.         Node constructTree(int pre[]) {
  39.                 return constructTreeUtil(pre, 0, pre.length - 1);
  40.         }

  41.         // A utility function to print inorder traversal of a Binary Tree. 鍥磋鎴戜滑@1point 3 acres
  42.         void printInorder(Node node) {
  43.                 if (node == null) return;
  44.                 printInorder(node.left);
  45.                 System.out.print(node.data + " ");
  46.                 printInorder(node.right);
  47.         }. From 1point 3acres bbs
  48. }

  49. public class test{
  50.         // Driver program to test above functions
  51.         public static void main(String[] args) {
  52.                 BinaryTree tree = new BinaryTree();. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  53.                 int pre[] = new int[]{10, 5, 1, 7, 40, 50};
  54.                 Node root = tree.constructTree(pre);.鐣欏璁哄潧-涓浜-涓夊垎鍦
  55.                 System.out.println("Inorder traversal of the constructed tree is ");
  56.                 tree.printInorder(root);
  57.         }
  58. . 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  59. }
复制代码
回复 支持 反对

使用道具 举报

鼓頔娜夫 发表于 2016-11-17 00:38:15 | 显示全部楼层
Cathy667 发表于 2016-11-11 12:07
我是这么想的,写的也差不多是这样,不知道写没写对。。。。

感觉就是LC106的变种,只是对于BST来说,preorder就足够唯一的确定一个tree了
回复 支持 反对

使用道具 举报

eNdlessm1 发表于 2016-12-26 14:03:03 | 显示全部楼层
这题的解法应该是这样的:

private static TreeNode contructTree(int[] nums) {
    TreeNode root = new TreeNode(nums[0]);.1point3acres缃
    for (int i = 1; i<nums.length; i++) {. more info on 1point3acres.com
        construct(root, nums[i]); 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
    }
. From 1point 3acres bbs
    return root;
}

private static void construct(TreeNode node, int val) {
    if(val < node .val) {
        if(node.left == null) {
            node.left = new TreeNode(val);
        } else construct(node.left, val);
    }
    if (val > node.val) {
        if (node.right == null) {
            node.right = new TreeNode(val);
        } else construct(node.right, val);
    }
}
回复 支持 反对

使用道具 举报

看穿 发表于 2017-2-15 21:48:22 | 显示全部楼层
eNdlessm1 发表于 2016-12-26 14:03. Waral 鍗氬鏈夋洿澶氭枃绔,
这题的解法应该是这样的:. 鍥磋鎴戜滑@1point 3 acres
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
private static TreeNode contructTree(int[] nums) {

elegant code !
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-4-22 01:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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