搜狗 因烽火放弃
360 因不在北京放弃
新浪微博 因烽火放弃
网易有道
新浪 因烽火放弃
搜狐 miss
淘宝 miss
阿里云 miss
支付宝 没消息
淘宝实习笔试
N个鸡蛋放到M个篮子中,篮子不能为空,要满足:对任意不大于N的数量,能用若干个篮子中鸡蛋的和表示。
写出函数,对输入整数N和M,输出所有可能的鸡蛋的放法。
完美时空
三角形内的随机点
淘宝校招
http://topic.csdn.net/u/20110922/10/e4f3641a-1f31-4d35-80da-7268605d2d51.html
某企鹅公司
某搜索公司
1.C++ STL里面的vector的实现机制,
(1)当调用push_back成员函数时,怎么实现?(粗略的说@owen,内存足则直接 placement new构造对象,否则扩充内存,转移对象,新对象placement new上去。具体的参见此文:http://blog.csdn.net/v_july_v/article/details/6681522)
(2)当调用clear成员函数时,做什么操作,如果要释放内存该怎么做。(调用析构函数,内存不释放。 clear没有释放内存,只是将数组中的元素置为空了,释放内存需要delete。)
2. 函数foo找错,该函数的作用是将一个字符串中的a-z的字母的频数找出来
void foo(char a[100],int cnt[256])
{
memset(cnt ,0, sizeof(cnt));
while (*a!='\0')
{
++cnt[*a];
++a;
}
for ( char c='a';c<='z';++c)
{
printf("%c:%d\n",c,cnt[c]);
}
}
int main()
{
char a[100]="百度abc";
int cnt[256];
foo(a,cnt);
return 0;
}
一、算法设计
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]
亿阳信通 全选择题,没消息
某网络书店
快速排序算法
环形公路,N个加油站,每个油站储油a[i],距离b[i]。找到一个可开完全程的点。
西山居 数组中最大和的子数组,要求出子数组起始位置
4399
1,2,...n个数取m个不重复的随机数
http://blog.csdn.net/megaboy/article/details/524221
集合1{a,b,c,},集合2{a,b,e},集合集合3{d},输出各个有交集的集合并集。如输出{a,b,c,e}{d}