您的位置:首页 > 职场人生

爱奇艺算法工程师面试题(2015年)

2015-07-08 20:28 330 查看
这是上海爱奇艺算法工程师的三面,一共三个问题。

一道算法题:

现有1-200之间的正整数,假设从中任意抽取101个数,试证明其中必然有一个数可以被另外一个数整除?

提示:

1-200之间的数可以用 (2^a)*b 来表示,其中,b>=1, a>=0, 并且a是取能取到的最大值。比如: 6 = (2^1)*3, 5 = (2^0)*5.

解题思路:

关键是要发现其中的规律,这里面着重要注意b的取值,可以发现b的取值全部是奇数,所以到这里就可以理解了,所以偶数都可以表示成一个奇数乘以2的a次方,200以内的奇数是100个,而取101个数的话,所有奇数都是可以覆盖到的,那101个的话,必然有一个数是可以整除另一个数。

一道C++问题:

c++四种cast,哪四种,再说说它们的细节?

const_cast(expression)

dynamic_cast(expression)

reinterpret_cast(expression)

static_cast(expression)

细节可以看C++ primer和Effective C++。

最后项目问题:

比较K-means, KNN, EM 和SVM。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试 研发 c++