投简历时候没仔细看 后来发现不是招 ruby 的而是新毕业生的 一共四道
两个鸡蛋和一座楼,楼有若干层,从一个固定高的楼层扔下去 鸡蛋会碎,低于这个高度则不会,怎么最有效的找出哪层鸡蛋会碎,鸡蛋不会积少成多的摔碎
是考 oo 概念的,我写的还好
我脑子崩了,不熟悉 c++,完全不知道怎么做,只知道笨办法,后来他提示我半天才明白
很简单,估计论坛上的童鞋 5 分钟内都做的出来
本人太紧张了,刚开始完全没门路,假设了几个楼层高度然后得出了几个答案,说了他都说你能做的更好吗,后来才猛然醒悟他要看的是方法,是一个公式而不是一个结果,公式列出来然后拿微积分求答案...不过感觉这道题做完他已经不耐烦了....
然后就面试结束了...估计没戏了 算了 不去想了 反正我在现在这家公司也不好意思跳槽....
这题好难啊。
我来猜一下,第四题是不是,第一个鸡蛋每 m 层扔一次,求 n/m + (m-1)
的最小值。求导得 -n/(m*m)+1
,当导数为 0 时,m = sqrt(n)
,代回去得到 2*sqrt(n)-1
-> O(n^(1/2))
是否存在 O(log n)
呢?或者能证明 O(n^(1/2))
是最小了?
第 4 题可不可以这样做
1) 拿一个鸡蛋用机器测量摔碎时受到外力的大小 2) 根据物体的质量以及高度计算出在多少高度的时候会产生与外力相同的力 3) 根据高度计算出楼层的临界值
先从日开始,肯定小于 31,所以是 13xy 年,然后是 x,从最大 9 开始,所以应该是 09311390,但是还要注意是不是有效日期,不过这个题到底是要考推导?还是写个通用的程序呢?没有说明吗?