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

GG电面GG,感觉有点奇怪

全局:

2019(1-3月) 码农类General 博士 全职@google - 内推 - 技术电面  | | Fail | 在职跳槽

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 150 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies


我最开始没注意到那个acyclic的条件耽误了一些时间,之后阐述思路写代码分析complexity都没问题。唯一一个bug就是bfs过程中设了visited nodes之后忘记update了,经面试官提醒才发现。follow up的回答也很顺利。结果今天接到电话说fail。我在LC上没找到这道题,我也不知道面试官是不是觉得这道题太简单而我速度太慢。大家有什么观点呢?欢迎讨论,谢谢!

上一篇:亚麻2.7ddlOA1+OA2
下一篇:亚麻 OA

本帖被以下淘专辑推荐:

推荐
黓龙君 2019-2-7 05:01:26 | 只看该作者
全局:
acyclic connected undirected graph就是tree吧,可以把A所在节点当做root,然后遍历看哪个分支的节点最多。
不知道能不能重复走和占领别人的节点。
回复

使用道具 举报

推荐
qqaas 2019-2-7 16:11:35 | 只看该作者
全局:
写了一个模拟答案,思路是按照二楼大神取 拥有最大儿子数目的子树 请各位看看有啥问题不
class GraphNode {
public:
    vector<GraphNode*> neighbors;
    int val;
    GraphNode(int val) {
        this->val = val;
    }  
};

GraphNode* chooseMaxNode(vector<GraphNode*> allNodes, GraphNode* a) {
    GraphNode* b;
    int maxChildren = 0;
    for (GraphNode* node : a->neighbors) {
        int curChildren = getChildrenNumber(node);
        if (curChildren > maxChildren) {
            maxChildren = curChildren;
            b = node;
        }
    }
    return b;
}

int getChildrenNumber(GraphNode* root) {
    if (!root) {
        return 0;
    }

    int res = 0;
    for (GraphNode* child : root->neighbors) {
        res += getChildrenNumber(child);
    }
    return res + 1;
}
回复

使用道具 举报

推荐
 楼主| 极为漫长的一天 2019-2-7 00:06:54 | 只看该作者
全局:
sunsiyue618 发表于 2019-2-6 17:38
我和你的思路类似,有一点不同是,选子节点最多的节点而不是最深的节点。dfs从a开始,每个node记录自己下 ...

我觉得你的想法是对的,但是不用每个node都记录,只要记录所有a的子节点记录就可以了,因为下面的节点肯定不会比他们大。所以我觉得bfs更好。当时我也是这么做的,complexity是O(n) time & space,面试官也认可了
回复

使用道具 举报

🔗
ef50mm 2019-2-6 14:10:42 | 只看该作者
全局:
我的想法 既然已经说了是联通的无向图还没有环 那必然是一颗树
以a为根节点建立这棵树 找到最深的子树 选择子树节点(也就是a的子节点)为b
回复

使用道具 举报

全局:
楼主bfs啥思路。。
回复

使用道具 举报

🔗
imyourdaddy 2019-2-6 15:21:17 | 只看该作者
全局:
这道题我也面到了,我的思路是用两个queue但是就面试官一上来就直接把我思路驳回说我的想法复杂度太高
扯了半天也不让我写代码  一直重复让我举例子给input和output(觉得我没理解题意但我明明已经理解了)
所以就很迷,我也想看看各位对这题的看法
回复

使用道具 举报

🔗
sunsiyue618 2019-2-6 17:38:55 | 只看该作者
全局:
ef50mm 发表于 2019-2-6 14:10
我的想法 既然已经说了是联通的无向图还没有环 那必然是一颗树
以a为根节点建立这棵树 找到最深的子树 选 ...

我和你的思路类似,有一点不同是,选子节点最多的节点而不是最深的节点。dfs从a开始,每个node记录自己下面有多少个子节点。算完之后b落在子节点最多的节点上。
回复

使用道具 举报

全局:
我觉得应该选max(deepest, most neighbors)吧。求高人指点
回复

使用道具 举报

🔗
mwen2 2019-2-7 04:52:02 | 只看该作者
全局:
求问一下楼主能share一下代码嘛?多谢多谢~
回复

使用道具 举报

🔗
juggernaught 2019-2-7 05:11:17 | 只看该作者
全局:
follow up 是什么思路?
假设图1就1个点被A占了,怎么在图2落点?
回复

使用道具 举报

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

本版积分规则

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