一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
电商初创公司Good Days
招聘SDE/UI/TPM等职位实习生
把贵司招聘信息放这里
查看: 607|回复: 12
收起左侧

脸家新鲜跪经

[复制链接] |试试Instant~ |关注本帖
Cacacactus 发表于 2017-12-2 07:33:02 | 显示全部楼层 |阅读模式

2017(10-12月) 码农类 硕士 实习@Facebook - 内推 - 技术电面 |Other其他

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

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

x
刚刚面完二面,感觉稳稳的跪了题目类似于蠡口 伊尔思
但是要求返回的是path
最开始一看题就自动带入到返回sum了,然后废了一段时间写了错的代码,然后面试官提醒才发现,一下子就紧张了
最后压线做完了,也不知道对不对
这一个月为脸家的面试真的付出了好多,各种高频题也都刷烂了,感觉还是心态不好,这种题放平时很快也就做出来了
anyway move on了
面试官是个中国小姐姐,还是希望小姐姐手下留情吧
yuzidan 发表于 2017-12-4 04:10:20 | 显示全部楼层
    int max = Integer.MIN_VALUE;
    public int dfs(TreeNode root) {
        if(root == null) return 0;
        int left = Math.max(0,dfs(root.left));
        int right = Math.max(0,dfs(root.right));
        max = Math.max(left+right+root.val, max);
        return Math.max(left,right) + root.val;. 鍥磋鎴戜滑@1point 3 acres
    }
    public int maxPathSum(TreeNode root) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
        dfs(root);
        return max;. from: 1point3acres.com/bbs
    }
回复 支持 0 反对 1

使用道具 举报

manmankan 发表于 2017-12-2 11:48:23 | 显示全部楼层
感谢楼主分享,祝好运!
回复 支持 反对

使用道具 举报

bogart 发表于 2017-12-2 12:25:25 | 显示全部楼层
感谢楼主分享,楼主好人
回复 支持 反对

使用道具 举报

get_bits 发表于 2017-12-2 17:28:12 来自手机 | 显示全部楼层
看样子还有机会,楼主好运
回复 支持 反对

使用道具 举报

Caroline0128 发表于 2017-12-3 13:11:55 | 显示全部楼层
谢谢楼主分享,请问题意是类似要求返回里扣 527的格式,但要求返回的是最大的一个path么?

补充内容 (2017-12-3 13:12): 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
打错了,   是 257....
回复 支持 反对

使用道具 举报

fwmjiayou 发表于 2017-12-4 03:05:48 | 显示全部楼层
。。。我面试的时候也是返回值错了。。但是面试官也没吱声。。我写完了。。自己发现的。。然而时间不够了。哎😔
回复 支持 反对

使用道具 举报

 楼主| Cacacactus 发表于 2017-12-4 11:09:49 | 显示全部楼层
yuzidan 发表于 2017-12-4 04:10
int max = Integer.MIN_VALUE;
    public int dfs(TreeNode root) {
        if(root == null) retu ...

不是返回maxvalue,是返回路径,我最开始也是写了这个
回复 支持 反对

使用道具 举报

 楼主| Cacacactus 发表于 2017-12-4 11:10:20 | 显示全部楼层
fwmjiayou 发表于 2017-12-4 03:05. 鍥磋鎴戜滑@1point 3 acres
。。。我面试的时候也是返回值错了。。但是面试官也没吱声。。我写完了。。自己发现的。。然而时 ...

回复 支持 反对

使用道具 举报

 楼主| Cacacactus 发表于 2017-12-4 11:11:15 | 显示全部楼层
Caroline0128 发表于 2017-12-3 13:11
谢谢楼主分享,请问题意是类似要求返回里扣 527的格式,但要求返回的是最大的一个path么?

补充内容 (2017 ...

返回的格式就是一个list就好了
回复 支持 反对

使用道具 举报

zhutianqi2017 发表于 2017-12-5 06:20:34 | 显示全部楼层
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!
.鐣欏璁哄潧-涓浜-涓夊垎鍦
想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南
回复 支持 反对

使用道具 举报

zhutianqi2017 发表于 2017-12-5 06:24:29 | 显示全部楼层
我觉得这题不难啊,和124一样的,你找到max path 的root 的时候set a pointer to it. tree node 稍微改一下, 每个tree node 要记录 max path to end 是 left or right, 然后你最后回到 你set 那个root 左右同时加 你记录的 path就可以了, 比124 多几行code
回复 支持 反对

使用道具 举报

hychin 发表于 2017-12-5 14:08:27 | 显示全部楼层

宝宝不哭,我给你写了一个返回路径的
. from: 1point3acres.com/bbs

    int helper(TreeNode* root, int& max_path, vector<int>& max_path_vec, vector<int>& path){
         if(!root) return 0;
                 vector<int> left_path, right_path;
         int left = max(helper(root->left, max_path, max_path_vec, left_path), 0);
         int right = max(helper(root->right, max_path, max_path_vec, right_path), 0);
             if(max_path < root->val + left + right){
                    max_path = root->val + left + right;
                    max_path_vec.clear();
                    max_path_vec.insert(max_path_vec.end(), left_path.rbegin(), left_path.rend());
                    max_path_vec.push_back(root->val);
                    max_path_vec.insert(max_path_vec.end(), right_path.begin(), right_path.end());
                 }
                 path.clear();
                 path.push_back(root->val);
                 if(left > right){
                    path.insert(path.end(), left_path.begin(), left_path.end());
                 }. From 1point 3acres bbs
                 else path.insert(path.end(), right_path.begin(), right_path.end());. 1point 3acres 璁哄潧
         return root->val + max(left, right);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
    }
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-12-17 22:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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