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

谷歌跪 SETI

 
🔗
eko910817 2018-11-8 23:50:00 | 只看该作者
全局:
6666666666666666
回复

使用道具 举报

🔗
hscheng 2018-11-9 01:40:56 | 只看该作者
全局:
感谢楼主,祝好运
回复

使用道具 举报

🔗
zzz113 2018-11-9 01:49:55 | 只看该作者
全局:
加油加油! 谢谢楼主的面经!祝楼主好运~
回复

使用道具 举报

🔗
yangc22 2018-11-9 02:20:39 | 只看该作者
全局:
感谢楼主分享经验。运气真的是会影响发挥,特别如果面试官不怎么跟你互动的话,积极性都会下降。
回复

使用道具 举报

🔗
zhan1286 2018-11-9 03:11:04 | 只看该作者
本楼:
全局:
多谢面筋
回复

使用道具 举报

🔗
wx9698 2018-11-9 03:50:47 | 只看该作者
本楼:
全局:
想看看~~~~
回复

使用道具 举报

🔗
VickyCao 2018-11-9 04:00:10 | 只看该作者
全局:
狗家seti和普通的sde面试一样么?
回复

使用道具 举报

🔗
lll123123zzz 2018-11-9 05:12:09 | 只看该作者
全局:
谢谢楼主的面经!楼主别灰心加油多刷题,争取再面!
回复

使用道具 举报

🔗
大木虫 2018-11-9 06:28:46 | 只看该作者
全局:
感谢楼主的面经!这道题传输的变量比较多和杂,用一个object兜一下或许会方便一些
  1. /**
  2. * Definition for a binary tree node.
  3. * struct TreeNode {
  4. *     int val;
  5. *     TreeNode *left;
  6. *     TreeNode *right;
  7. *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
  8. * };
  9. */
  10. class Solution {
  11. public:
  12.     struct SubTreeInfo;
  13.    
  14.     int largestBSTSubtree(TreeNode* root) {
  15.         int answer = 0;
  16.         largestBST_Rec(root, &answer);
  17.         return answer;
  18.     }
  19.    
  20.     struct SubTreeInfo largestBST_Rec(TreeNode* node, int * answer){
  21.         if(!node)return SubTreeInfo(true, 0, 0, 0);
  22.         auto leftTreeInfo = largestBST_Rec(node->left, answer);
  23.         auto rightTreeInfo = largestBST_Rec(node->right, answer);
  24.         
  25.         bool isBST = leftTreeInfo.isBST && rightTreeInfo.isBST;
  26.         
  27.         int leftBound = node->val, rightBound = node->val, count = 1;
  28.         
  29.         if(node->left){
  30.             isBST &= (node->val > leftTreeInfo.rightBound);
  31.             count += leftTreeInfo.count;
  32.             leftBound = leftTreeInfo.leftBound;
  33.         }
  34.         if(node->right){
  35.             isBST &= (node->val < rightTreeInfo.leftBound);
  36.             count += rightTreeInfo.count;
  37.             rightBound = rightTreeInfo.rightBound;
  38.         }
  39.         
  40.         if(isBST)*answer = max(*answer, count);
  41.         
  42.         return SubTreeInfo(isBST, leftBound, rightBound, count);
  43.     }
  44.    
  45.     struct SubTreeInfo{
  46.         bool isBST;
  47.         int leftBound, rightBound, count;
  48.         SubTreeInfo(bool isBST_, int leftBound_, int rightBound_, int count_):
  49.             isBST(isBST_), leftBound(leftBound_), rightBound(rightBound_), count(count_){}
  50.     };
  51. };
复制代码
回复

使用道具 举报

🔗
tarepapa48 2018-11-9 06:55:50 | 只看该作者
本楼:
全局:
谢谢楼主
回复

使用道具 举报

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

本版积分规则

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