1.不会产生溢出的求平均值
两个数的时候 a,b ans
ans = (a&b) + (a^b)/2
ans = a + (b �C a)/2
求全部数组元素的平均值 a[] i length ans
for(i = 1,ans = a[0];i < length;i++)
{
ans = ans + (a[i] �C ans)/(i + 1)
}
2.map中采用自定义类作为键值类型
两种方式:
(1)为自定义类重载<运算符(主要因为map由红黑树实现,键值的插入需要作比较,所以必须让键值可做比较运算),注意参数要加const限定
(2)自定义仿函数,重载()运算符,实现大小比较,在声明map对象时第三个参数填写自定义仿函数类名。
3.n!中有多少个0
计算1�Cn中有多少个能被5的自然数次幂整除的数 也就是被5整除的数的个数+被25整除的数的个数+被125整除的数的个数。。。依此类推
4.字符串序列,按照A,B,C,D,AA,AB,AC…DDDD的顺序排列,求第n位是神马字母
类似的题目可以参照进制做运算,注意的是进制中不会出现01 02的状况
Read full article from 一些常见的笔试题目 - Tristan's blog
No comments:
Post a Comment