[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 780|回复: 3
收起左侧

谷歌2016 intern面经

[复制链接] |试试Instant~ |关注本帖
abcde_12345 发表于 2016-2-19 04:19:29 | 显示全部楼层 |阅读模式

() @ - -   | |

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

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

x
两轮
1. asset ID to two groups, 2 restrictions:
    1. all number in group a are even, all number in group b are i*3
    2. 数字必须在a和b中只出现一次
    比如a:2 4 6 8 10
          b:3 9 12
    给出a,bsize求lower bound of maximum,这里是12
2. a简单统计两个bitstring不同的bits
    b给一个棋局,判断当前是否有棋子被围住,简单DFS记录访问过的节点就行,一些简单的follow-up
楼主第一题当时一直在想DP解,不过后来经超级nice的国人大哥提醒应该写个checkValid的函数,binary search最小bound,哎。。。题刷多了,思维真的会僵化。
lxxxxxxx 发表于 2016-2-19 04:53:32 | 显示全部楼层
求问楼主第一题怎么做啊,想不太通.... 我现在唯一能想到的是 :重复的部分应该是  min [ (lenA * 2) % 3 , (lenB * 3) % 2] 然后再一个个接着去替换到这么多个元素..... 求指教checkValid 和binary search该怎么做啊
回复 支持 反对

使用道具 举报

 楼主| abcde_12345 发表于 2016-2-19 05:39:43 | 显示全部楼层
lxxxxxxx 发表于 2016-2-19 04:53
求问楼主第一题怎么做啊,想不太通.... 我现在唯一能想到的是 :重复的部分应该是  min [ (lenA * 2) % 3 , ...

// Here sizeA & sizeB are the required size of two groups
// num>=0 is the candidate anwser
. From 1point 3acres bbs
bool checkValid(int num, int sizeA, sizeB){
   int twos = num/6*2+(num%6)/2; //  even number exclude 6s
   int threes = num/6 + (num%6)/3; // 3*i exclude 6s
   return ((num/2)>=sizeA && (num/3-max(0,(sizeA-twos))>=sizeB);
. from: 1point3acres    // give all 6 to even group at first
   // then check whether second group still have enough 3*i
}
. from: 1point3acres
// iterate 1 To n to find the lower bound
// for acceleration, binary search, pow(i,2)
回复 支持 反对

使用道具 举报

lxxxxxxx 发表于 2016-2-19 10:01:19 | 显示全部楼层
abcde_12345 发表于 2016-2-19 05:39. more info on 1point3acres
// Here sizeA & sizeB are the required size of two groups
// num>=0 is the candidate anwser

有道理!谢谢楼主
不过还想请教的就是,binary search 的时候怎么确定上界呢,我就是在想1 - n,这个n怎么取比较合适..... 来源一亩.三分地论坛.
而且感觉也不需要从1开始,从Math.max(2 * lenA, 3 * lenB) 开始就行了


checkValid函数确实这样就够了!不需要一个个去试. more info on 1point3acres

不过你的checkValid函数这里
return ((num/2)>=sizeA && (num/3-max(0,(sizeA-twos))>=sizeB);. 牛人云集,一亩三分地

我在想你算出来了 twos, threes,

然后就可以算 sixs = num / 6
. from: 1point3acres
return  max( (lenA - twos) , 0 ) + max( (lenB - threes), 0) <= sixs 不知道可不可以?

回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

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

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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