爱奇艺算法工程师面试题(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。
一道算法题:
现有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++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 国外程序员推荐:每个程序员都应读的书
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息