楼主: dili7743
跳转到指定楼层
上一主题 下一主题
收起左侧

GoogleNYC跪经

🔗
 楼主| dili7743 2016-8-8 11:24:37 | 只看该作者
全局:
sunraincyq 发表于 2016-8-8 08:31
谢谢LZ分享这么详细的面经。请问是你要求到NYC ONSITE的吗还是你本来申请的POSITION是在NYC?

我联系的recruiter是在NYC的,所以他给我安排到NYC面试,但是我想去MTV。
回复

使用道具 举报

🔗
wryswa 2016-8-8 13:30:38 | 只看该作者
全局:
楼主想问一下怎么能和NYC office面试,是投职位的时候就指定的还是他们给你安排的?

补充内容 (2016-8-8 13:31):
NVM看到楼上回复了
回复

使用道具 举报

🔗
tobebeyond 2016-8-8 19:43:17 | 只看该作者
全局:
白羽幸 发表于 2016-8-6 01:40
第一题用dfs的话space complexity只有O(k)

请问第一题DFS怎么做?
回复

使用道具 举报

🔗
tobebeyond 2016-8-8 20:17:05 | 只看该作者
全局:
hxtang 发表于 2016-8-6 01:36
第一题从空间complexity来说确实是他的小。stack就是前序遍历非递归算法那个stack,栈内元素照理说是不超过 ...

求问有代码实现吗?
回复

使用道具 举报

🔗
hxtang 2016-8-8 21:52:22 | 只看该作者
全局:
chenqidi 发表于 2016-8-8 20:17
求问有代码实现吗?
  1. struct TreeNode {
  2.     int val;
  3.     TreeNode* left, * right;
  4.     TreeNode(int v) : val(v), left(NULL), right(NULL) {};
  5. };

  6. class TreeIterator {
  7. public:
  8.         TreeIterator(TreeNode* root, int k) : max_level(k) {
  9.                 if (root) stk.push(make_pair(0, root));
  10.         }
  11.        
  12.         bool has_next() { return !stk.empty(); }
  13.        
  14.         int next() {
  15.                 if (stk.empty()) throw "out of range";  
  16.                 int ret_val = stk.top().second->val;
  17.                 stk.pop();
  18.                 traverse();
  19.                 return ret_val;
  20.         };       
  21.        
  22.         virtual TreeNode* get_left (TreeNode *n)=0;
  23.         virtual TreeNode* get_right(TreeNode *n)=0;

  24. protected:       
  25.         void traverse() {
  26.                 while (!stk.empty() && stk.top().first != max_level) {
  27.                         int next_level = stk.top().first+1;
  28.                         TreeNode* left  = get_left (stk.top().second);
  29.                         TreeNode* right = get_right(stk.top().second);
  30.                         stk.pop();
  31.                         if (right) stk.push(make_pair(next_level, right));
  32.                         if (left)  stk.push(make_pair(next_level, left ));
  33.                 }               
  34.         }
  35.         stack<pair<int, TreeNode*>> stk;
  36.         int max_level;
  37.        
  38. };

  39. class TreeForwardIterator : public TreeIterator {
  40. public:
  41.     TreeForwardIterator(TreeNode* root, int k) : TreeIterator(root, k) { traverse(); };
  42.         TreeNode* get_left (TreeNode* n) { return n->left;  };
  43.         TreeNode* get_right(TreeNode* n) { return n->right; };
  44. };


  45. class TreeReverseIterator : public TreeIterator {
  46. public:
  47.     TreeReverseIterator(TreeNode* root, int k) : TreeIterator(root, k) { traverse(); };
  48.         TreeNode* get_left (TreeNode* n) { return n->right; };
  49.     TreeNode* get_right(TreeNode* n) { return n->left;  };       
  50. };

  51. vector<int> tree_level_alt(TreeNode *root, int k) {
  52.         TreeForwardIterator i_left (root, k);
  53.         TreeReverseIterator i_right(root, k);
  54.         vector<int> result;
  55.        
  56.         int l = INT_MIN, r = INT_MAX;
  57.         while (l < r){
  58.                 l = i_left.has_next()  ? i_left.next()  : INT_MAX;
  59.                 r = i_right.has_next() ? i_right.next() : INT_MIN;
  60.                 if (l < r) { result.push_back(l); result.push_back(r);}
  61.                 else { if (l == r) result.push_back(l); }
  62.         }
  63.         return result;
  64. };
复制代码

评分

参与人数 1大米 +5 收起 理由
tobebeyond + 5 感谢分享!

查看全部评分

回复

使用道具 举报

🔗
lllxin37 2016-8-20 06:35:11 | 只看该作者
全局:
看一遍面经就又涨了点知识,多谢楼主
回复

使用道具 举报

🔗
Josh 2016-8-20 07:16:17 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
fay19 2016-8-20 07:21:03 | 只看该作者
全局:
Josh 发表于 2016-8-20 07:16
感觉第一题BFS的空间复杂度也是O(K)啊,因为BFS的queue里面最多有两个level,第k层每个level的数量是O(K) ...

第k层的node数量不是o(k), 是2^(k-1)个
回复

使用道具 举报

🔗
Josh 2016-8-21 00:09:14 | 只看该作者
全局:
fay19 发表于 2016-8-20 07:21
第k层的node数量不是o(k), 是2^(k-1)个

对,我想错了抱歉
回复

使用道具 举报

🔗
littlebearull 2016-9-24 01:02:27 | 只看该作者
全局:
第一题有没有更简洁的DFS的方法呀?hxtang提供的代码,对于我来说,还是不太可能在面试中写出来的,(水平比较挫)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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