两道题目

1、数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数
***************************** 

int do_dup(int a[], int N) {
int sum1 = 0;
int sum2 = 0;
for (int i = 0;i < N;i++) {
sum1 += a[i];
sum2 += i;
}
cout << sum1 - sum2 << endl;
return sum1 - sum2;
}

***************************** 

2、一语句实现x是否为2的若干次幂的判断  
***************************** 
( n & (n-1) ) == 0 
*****************************  
 解决问题现在不能蒙头就做,要去分析事物的特征。

write by fgd

posted @ 2012-03-13 17:26  wen_dao_  阅读(161)  评论(0编辑  收藏  举报