博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度2011.10.16校园招聘会笔试题
阅读量:4968 次
发布时间:2019-06-12

本文共 724 字,大约阅读时间需要 2 分钟。

 一、算法设计

1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。

2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。

3、C++ STL中vector的相关问题:

    (1)、调用push_back时,其内部的内存分配是如何进行的?
    (2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作?

二、系统设计

正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。

三、求一个全排列函数:

如p([1,2,3])输出:
[123]、[132]、[213]、[231]、[321]、[323]
 求一个组合函数
如p([1,2,3])输出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]

这两问可以用伪代码。

答案请参考:

转载于:https://www.cnblogs.com/woshizyl/archive/2012/09/11/2800338.html

你可能感兴趣的文章