找出数组中重复的数
/*問題描述:數組a[N],存放了1至N-1個數,其中某個數重復一次。寫一個函數,找出被重復的數字.時間復雜度必須為O(N),函數原型:int do_dup(int a[], int N)
*/#include <stdio.h>// 返回數組中重復的數
int do_dup(int a[], int N)
{int i;int sum = 0, retValue = 0; // sum保存數組元素的總和for(i = 0; i < N; i++)sum += a[i];retValue = sum - N * (N-1) / 2;return retValue;
}int main()
{int a[] = {1, 2, 3, 3, 4, 5};int v = do_dup(a, sizeof(a) / sizeof(a[0]));printf("重復的數是:%d\n", v);return 0;
}
總結
- 上一篇: 实用小技能 | 用 Word 和 Exc
- 下一篇: bupt summer training