腾讯实习生面试题

hackbuteer1 2012-04-15 06:52:14
偶投的是游戏开发方面的岗位,今天面试的时候,面试官问了三个问题。
1、寻找一个字符串中最长的重复子串。 如 abcdabc 最长重复串 是abc
2、1G的内存,对10亿个数字进行排序,有什么比较好的方法。
3、游戏打斗中出现很卡应该如何解决?
4、三维数据的网格优化是怎么处理的?

各位大侠,大家都发挥一下能力,讨论一下这几个问题吧,偶当时回答的不太好,悲剧啊。。
...全文
946 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
JackPan 2012-04-17
  • 打赏
  • 举报
回复
第2题我觉的可以这样搞:
把0-2^32所有数人为的分成128份,每份是33554432个数,每份有个连续的,每份对应一个文件,排一个数的时候先看在哪个区别,然后再在这个区间上排,并且排序结果可以保存在这个区间对应的文件里。

算法不懂,偶只会瞎想。
simplecao2012 2012-04-16
  • 打赏
  • 举报
回复
懂了这些东西还叫实习生,苦吖。。。
彼岸花 2012-04-16
  • 打赏
  • 举报
回复
这是四个问题。。
DeDeWo 2012-04-16
  • 打赏
  • 举报
回复
第一个 后缀数组,代码自己写
第二个,如果没有重复的数,那么和这个一样 http://www.darkswordzone.com/?p=374

后两个我不会
恨天低 2012-04-16
  • 打赏
  • 举报
回复
很自卑地说:

第三题稍微能扯点东西出来。其它的都不会。。。

企鹅面试这么难的。。
JackPan 2012-04-16
  • 打赏
  • 举报
回复
研究生面试题,还是本科。。。
xuer2016 2012-04-16
  • 打赏
  • 举报
回复
思考下,求大神解
cattycat 2012-04-16
  • 打赏
  • 举报
回复
第一个题 用后缀数组。
第二个题 不知道数字有无重复,如果没重复才用位图,否则不好办。
第三个,是看网络的问题还是内存不够用。看样子是服务器端吧,那么就考虑网络连接模型,内存需要把一些常用东西缓存起来。
第四个不太清楚。
hackbuteer1 2012-04-16
  • 打赏
  • 举报
回复
这些面试题的难度还是很大的
hackbuteer1 2012-04-15
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

第一题 KMP 或者 后缀树
[/Quote]
kmp 不太好的,需要对每一个字串都求一次KMP,这样的话时间复杂度就有O(n^2)了
hen_hao_ji 2012-04-15
  • 打赏
  • 举报
回复
第一题 KMP 或者 后缀树
CrazyAsk 2012-04-15
  • 打赏
  • 举报
回复
2。 归并排序
hui12345685 2012-04-15
  • 打赏
  • 举报
回复
10亿个数字,如果每个数字是4个字节,有3G多,肯定超过1g
如果用位图的话就是3G除以32肯定是小于1g
至于代码怎么写,goolge到处都是
evencoming 2012-04-15
  • 打赏
  • 举报
回复
第一个,想错了.百度:
http://www.cppblog.com/unixfy/archive/2011/09/13/155668.aspx
evencoming 2012-04-15
  • 打赏
  • 举报
回复
第2个:

vector<bool> vec(1024*1024*1024*4,false);
for(int i=0;i<1e8;i++)
{
int val;
scanf("%d",&val);
vec[(unsigned int)val]=true;
}
for(size_t i=0;i!=vec.size();i++)
{
if(vec[i])
printf("%d\t",(int)i);
}
hackbuteer1 2012-04-15
  • 打赏
  • 举报
回复
第二个排序用代码怎么实现啊? 面试官要求当场写代码的。。
hui12345685 2012-04-15
  • 打赏
  • 举报
回复
第二题应该用位图吧
evencoming 2012-04-15
  • 打赏
  • 举报
回复
第一个好像也是计数排序的改进.写代码看看.
evencoming 2012-04-15
  • 打赏
  • 举报
回复
2.每个位保存一个数字.计数排序.
其他不会

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧