小众学校Baylor University CS系介绍

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业诚聘
机器学习/数据统计/教育等职位
码农求职神器Triplebyte:
不用海投
内推多家公司面试
高效直聘+内推,70%面试率
AI帮你免费完善简历
直击全美十万个科技职位
坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
锦晖律师事务所
12月16日
H1B讲座通知
查看: 5088|回复: 15
收起左侧

FB跪经,疑似新题,我是没见过

[复制链接] |试试Instant~
我的人缘0
jialiu54321 发表于 2016-10-18 06:11:02 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (4)
 
 
0% (0)  踩

2016(10-12月) 码农类General 硕士 全职@Facebook - 内推 - 技术电面 在线笔试  | Fail | fresh grad应届毕业生

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

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

x
中国人面的,打了个招呼就开始做题,一共四十五分钟

就一道题:
remove as many edges as possible from a tree and the result trees all have even number of nodes

         o
  /    |   |   \
o     o   
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
第一次记录所有以当前node为根的subtree的node总数
第二次就可以用这些数据切割树了

当时脑子糊住没想到

评分

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

查看全部评分


上一篇:IBM Entry Level Front-End Developer OA
下一篇:前几天的bloomberg
我的人缘0
rinto 发表于 2016-10-18 09:12:05 | 显示全部楼层
本楼: 【顶】   100% (2)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
修改了一下,可以跑楼主给的例
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
DE_0        ]
回复

使用道具 举报

我的人缘0
iPhD 发表于 2016-10-18 06:24:33 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  87% (63)
 
 
12% (9)  踩
jialiu54321 发表于 2016-10-18 06:23
一个空白的编辑器,所有都要自己写,包括TreeNode,test case等等

楼主运气真好差。。。这国人大哥坑爹呀。。。
回复

使用道具 举报

我的人缘0
iPhD 发表于 2016-10-18 06:21:08 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  87% (63)
 
 
12% (9)  踩
楼主运气好差。。摸摸。。。
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
node吗?
回复

使用道具 举报

我的人缘0
 楼主| jialiu54321 发表于 2016-10-18 06:23:28 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (4)
 
 
0% (0)  踩
iPhD 发表于 2016-10-18 06:21
楼主运气好差。。摸摸。。。

这题的输入类型是什么?多叉树node吗?

一个空白的编辑器,所有都要自己写,包括TreeNode,test case等等
回复

使用道具 举报

我的人缘0
yingy4 发表于 2016-10-18 06:44:23 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (205)
 
 
5% (13)  踩
这貌似是hackerrank的原题,https://ww
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
/even-tree
回复

使用道具 举报

我的人缘0
yuanxiehuang 发表于 2016-10-18 07:13:28 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  78% (247)
 
 
21% (68)  踩
public class TreeNode {
    public List<TreeNode> children;
    int count;//This variable means how many children node including itself under this node.

}
public List<TreeNode> removeEdges(TreeNode root) {
        List<TreeNode> result = new ArrayList<>();
        if (root == null) {
            return result;
        }
        recursiveRemvoe(root, result);
        retur
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
    root.count -= cur.count;
                recursiveRemvoe(cur, list);
            }
        }
    }

大家看看这样可以吗? 我自己粗略写了一下,请大家轻喷...
回复

使用道具 举报

我的人缘0
rinto 发表于 2016-10-18 08:41:00 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
确实没见过这种题,很tricky啊,开始还以为要先把树转化成图来做,仔细看了一下输出要求仍然是树,估计面试遇到这个题往这个方向一想就崩了。。。patpat楼主
. 1point3acres
我是这么想的,对于一个root的每个子结点,可以递归的边count边把偶数个node的枝给切了(切掉的不算在count里),所以这个返回值肯定是奇数,如果所有这
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
tion。。可能mark一下再修改或者传个iterator把自己删了会好点


  1. public class BreakTree {
  2.     class TreeNode{
  3.         int val;
  4.         List<TreeNode> subtree;
  5.         TreeNode(int val){
  6.             this.val = val;
  7.             subtree = new ArrayList<>();
  8.         }
  9.     }
  10.    
  11.    
  12.     public List<TreeNode> breakTree(TreeNode root){-baidu 1point3acres
  13.         List<TreeNode> result = new ArrayList<>();
  14.         countAndBreak(result, root, null);
  15.         return result;
  16.     }. 1point3acres
  17.    
  18.     private int countAndBreak(List<TreeNode> result, TreeNode root, TreeNode parent){
  19.         if (root == null){
  20.             return 0;
  21.         }
  22.         
  23.         int count = 1;
  24.         for (TreeNode node : root.subtree){
  25.             count += countAndBreak(result, node, root);
  26.         }
  27.         
  28.         if (count % 2 == 0){
  29.             if (parent != null){
  30.                 parent.subtree.remove(root);
  31.             }
  32.             result.add(root);
  33.             return 0;-baidu 1point3acres
  34.         } else{
  35.             return count;
  36.         }
  37.     }
  38. }
复制代码

回复

使用道具 举报

我的人缘0
iPhD 发表于 2016-10-18 08:53:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  87% (63)
 
 
12% (9)  踩
rinto 发表于 2016-10-18 08:41
确实没见过这种题,很tricky啊,开始还以为要先把树转化成图来做,仔细看了一下输出要求仍然是树,估计面试 ...
  1. public class EvenTree {

  2.     private Set<Integer>[] adj;
  3.     private boolean[] visited;
  4.     private int E;
  5.     private int V;
  6.     private int count;
  7.     private List<Integer> nodes;

  8.     public EvenTree(int E, int V) {
  9.         adj = new (HashSet<Integer>) Object[V];
  10.         visited = new boolean[V];. 1point3acres
  11.         this.E = E;
  12.         this.V = V;
  13.         count = 0;
  14.         nodes = new ArrayList<Integer>();      
  15.     }

  16.     public int dfs(int node) {
  17.         visit[node] = true;
  18.         int children = 0;. check 1point3acres for more.

  19.         for (Integer v : adj[node]) {. From 1point 3acres bbs
  20.             if (!visit[v]) {
  21.                 int num = dfs(v);. 1point3acres
  22.                 if (num % 2 == 0) {
  23.                     count++;
  24.                 } else {
  25.                     children += num;
  26.                 }
  27.             }
  28.         }
  29. -baidu 1point3acres
  30.         if (children % 2 == 1) {
  31.             nodes.add(node);
  32.         }
  33.         . 1point3acres
  34.         return children + 1;
  35.     }

  36.     public static void main(String[] args) {
  37.         EvenTree et = new EvenTree(E, V);
  38.         for (int i = 0; i < E; i++) {
  39.             et.adj[v1].add(v2);
  40.             et.adj[v2].add(v1);
  41.         }

  42.         et.dfs(0);
  43.     }

  44. }
复制代码
回复

使用道具 举报

我的人缘0
yhatl 发表于 2016-10-18 09:26:32 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  33% (3)
 
 
66% (6)  踩
遍历一遍 只要children
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
forest
回复

使用道具 举报

游客
请先登录

本版积分规则

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

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

手机版|小黑屋|一亩三分地留学网

GMT+8, 2018-12-11 22:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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