由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 谁给讲讲扔鸡蛋那题,没看明白
相关主题
扔鸡蛋那题谁能给讲解以下刚看了leetcode 上的maximum rectangular sub matrix那题
这个掉鸡蛋的问题答案是啥?面经 (谷家)
那题design traffic crossing signals再回首,还是对linkedlist找cycle那题很疑惑
问一道算法题largest subsequence sum <= max完全二叉树的节点个数 那题 怎么做的?
顺时针打印二维数组那题Palindrome那题,OJ上通不过
L家每行均匀打印L个字符的那题,有结论吗?Palindrome那题,OJ上通不过
求函数的极值那题的解法?用求模分组的方法统计IP访问频率最高的那题,不明白,求解惑
烧绳子45分钟那题怎么做弱问OJ的Surrounded Regions那题
相关话题的讨论汇总
话题: 鸡蛋话题: testheight话题: factor话题: 那题话题: 开锁
进入JobHunting版参与讨论
1 (共1页)
J**B
发帖数: 204
1
2个鸡蛋测试第N层楼掉下去鸡蛋会碎,100层楼。
没看明白逻辑。
L***Q
发帖数: 508
2
举个例子,比如从50楼开始扔鸡蛋就会碎。第一次你从49楼扔,鸡蛋没碎,那你可以拿
这个蛋继续扔,并且你知道49楼不是答案。假设第一次你从50楼扔,蛋就碎了,你只剩
一个鸡蛋可以接着扔,你得到的信息是从50楼往上鸡蛋都会扔碎。
idea:两个蛋,一个拿去试出一个范围,然后用另一个蛋在这个范围内确定具体是哪一
层。

【在 J**B 的大作中提到】
: 2个鸡蛋测试第N层楼掉下去鸡蛋会碎,100层楼。
: 没看明白逻辑。

J**B
发帖数: 204
3
开锁哪题呢?多谢多谢!

【在 L***Q 的大作中提到】
: 举个例子,比如从50楼开始扔鸡蛋就会碎。第一次你从49楼扔,鸡蛋没碎,那你可以拿
: 这个蛋继续扔,并且你知道49楼不是答案。假设第一次你从50楼扔,蛋就碎了,你只剩
: 一个鸡蛋可以接着扔,你得到的信息是从50楼往上鸡蛋都会扔碎。
: idea:两个蛋,一个拿去试出一个范围,然后用另一个蛋在这个范围内确定具体是哪一
: 层。

S****h
发帖数: 115
4
记得看过解法,我试着explain下,练练手。
题目是求minimum的test 次数(就是说在最坏的情况下也能保证找到break floor)
假设最优解为n次试验能够确保找到safe floor
test NO.1 如果第一次试验鸡蛋就打碎,那么用第二个鸡蛋需要在(n-1)次试验内找出
break floor。 因为只有一个鸡蛋了,所以只能把剩下uncertain的楼层从低到高逐个
检验。因此,这次试验的高度为 testHeight = safe_florr + n;(如果高于这个值,那
么第一个鸡蛋一旦打碎,用第二个鸡蛋进行剩下的n-1次试验不可能找出safeFloor) 对
第一次试验来讲safe_floor是0层。所以testHeight = 0 + n;
test NO.2 同上,如果第一个鸡蛋没打碎,现在需要选择的 testHeight = safeFloor
+ (n-1) ==> testHeight = n +(n- 1);
...
test No.n testHeight = n + (n-1) + ... + 1
最后只要满足 testHeight >= 100 也就是 (1+n) * n / 2 >= 100
得出 n >= 14

【在 J**B 的大作中提到】
: 2个鸡蛋测试第N层楼掉下去鸡蛋会碎,100层楼。
: 没看明白逻辑。

J**B
发帖数: 204
5
开锁那题 本来锁都是关的,然后全被打开。(step=1)
1. step=factor of the number of door 的时候锁会被switch一次。
2. 第odd次touch 过锁头的时候,锁头会被打开。
3. 下面的就理解不了,请给解释下。
J**B
发帖数: 204
6
对的和书上一样的 开锁那题怎么解释的?

safeFloor

【在 S****h 的大作中提到】
: 记得看过解法,我试着explain下,练练手。
: 题目是求minimum的test 次数(就是说在最坏的情况下也能保证找到break floor)
: 假设最优解为n次试验能够确保找到safe floor
: test NO.1 如果第一次试验鸡蛋就打碎,那么用第二个鸡蛋需要在(n-1)次试验内找出
: break floor。 因为只有一个鸡蛋了,所以只能把剩下uncertain的楼层从低到高逐个
: 检验。因此,这次试验的高度为 testHeight = safe_florr + n;(如果高于这个值,那
: 么第一个鸡蛋一旦打碎,用第二个鸡蛋进行剩下的n-1次试验不可能找出safeFloor) 对
: 第一次试验来讲safe_floor是0层。所以testHeight = 0 + n;
: test NO.2 同上,如果第一个鸡蛋没打碎,现在需要选择的 testHeight = safeFloor
: + (n-1) ==> testHeight = n +(n- 1);

J**B
发帖数: 204
7
3.只有被touch了奇数次的锁最后才会是被打开的。就是从1~100寻找有odd个factor的
数。(晕,1是不是factor啊,小学的东东忘记光了,我这里假设是)。

【在 J**B 的大作中提到】
: 开锁那题 本来锁都是关的,然后全被打开。(step=1)
: 1. step=factor of the number of door 的时候锁会被switch一次。
: 2. 第odd次touch 过锁头的时候,锁头会被打开。
: 3. 下面的就理解不了,请给解释下。

d**0
发帖数: 124
8
这题有个变体 如果有三个鸡蛋怎么办 也是很有意思的问题

【在 L***Q 的大作中提到】
: 举个例子,比如从50楼开始扔鸡蛋就会碎。第一次你从49楼扔,鸡蛋没碎,那你可以拿
: 这个蛋继续扔,并且你知道49楼不是答案。假设第一次你从50楼扔,蛋就碎了,你只剩
: 一个鸡蛋可以接着扔,你得到的信息是从50楼往上鸡蛋都会扔碎。
: idea:两个蛋,一个拿去试出一个范围,然后用另一个蛋在这个范围内确定具体是哪一
: 层。

S****h
发帖数: 115
9
这个是DP问题,觉得光凭说不是很容易理解。不过DP从来只要知道怎么从sub optimal
solution得到最优解就好了。试试~
问题:N个鸡蛋,H层高楼,最少需要多少次trial可能确定safe floor?
Let S(n,h) be the minimum required number of trials for the conditon:
n eggs and h uncertain floor (不确定是否safe的楼层数,不是总的楼层高度)
假设此次试验在 x 层, x ∈ [1 ..h],并不是绝对楼层数,而是h个不确定的楼层中的
某一层。测试结果分为两种情况:
1. 鸡蛋打碎
s(n,h) = 1 + s(n-1, x -1);
2.鸡蛋完好无损
s(n,h) = 1 + s(n, h - x);
考虑到所有可能的x的取值[1..h]
s(n, h) = 1 + min{ max {s(n-1, x-1), s(n, h-x)}} x ∈ [1..h]
然后base case
s(n,h) = 1 //h == 1 只有一层,无论几个鸡蛋
= h //n == 1 只有一个鸡蛋,无论几层
= min{....} //above

【在 d**0 的大作中提到】
: 这题有个变体 如果有三个鸡蛋怎么办 也是很有意思的问题
J**B
发帖数: 204
10
开锁那题我看明白是最后要找1~100里有奇数个factor的数(这里我认为1也是factor
),请问这个DP怎么实现的(FAINT,DP是data path么,我不是CS的,面A家)。

【在 d**0 的大作中提到】
: 这题有个变体 如果有三个鸡蛋怎么办 也是很有意思的问题
p*****2
发帖数: 21240
11
觉得这题没什么意思?我感觉面试不会考到。有人考到吗?
h****e
发帖数: 928
12
扔鸡蛋的题目是一个经典的Brainteaser题目,在好几本面试书上都
讲过了,如CareerCup, How would you move Mount Fujian等。
开锁的也是。应该不会再考了吧。不过搞懂还是有用的。
f**********2
发帖数: 2401
13
开锁那个题,寻找1-100之间,factor为奇数的数,也就是完全平方数。只有完全平方
数=某整数的平方,这样才有可能为奇数。比如25=5*5=1*25,factor为1,5,25. 其他
数的因子必然偶数。1可以是因子。
l*********8
发帖数: 4642
14
有奇数个factor的数是某个数的平方,就是 1,4, 9, 16,25,36,49,64, 81, 100. 共
十把锁。

factor

【在 J**B 的大作中提到】
: 开锁那题我看明白是最后要找1~100里有奇数个factor的数(这里我认为1也是factor
: ),请问这个DP怎么实现的(FAINT,DP是data path么,我不是CS的,面A家)。

1 (共1页)
进入JobHunting版参与讨论
相关主题
弱问OJ的Surrounded Regions那题顺时针打印二维数组那题
3维空间找最长递增子串的那题有结果么?L家每行均匀打印L个字符的那题,有结论吗?
攒人品,报F家面经求函数的极值那题的解法?
问一下pbuffer那题烧绳子45分钟那题怎么做
扔鸡蛋那题谁能给讲解以下刚看了leetcode 上的maximum rectangular sub matrix那题
这个掉鸡蛋的问题答案是啥?面经 (谷家)
那题design traffic crossing signals再回首,还是对linkedlist找cycle那题很疑惑
问一道算法题largest subsequence sum <= max完全二叉树的节点个数 那题 怎么做的?
相关话题的讨论汇总
话题: 鸡蛋话题: testheight话题: factor话题: 那题话题: 开锁