1.C++ STL里面的vector的实现机制,
(1)当调用push_back成员函数时,怎么实现?
(2)当调用clear成员函数时,做什么操作,如果要释放内存该怎么做。
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被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。