【計蒜客系列】挑戰難題15:單獨的數字

題目來源:計蒜客


給定一個數組,除了一個數出現1次之外,其餘數都出現3次。找出出現一次的數。

如:{1, 2, 1, 2, 1, 2, 7}, 找出7.
格式:
   第一行輸入一個數n,代表數組的長度,接下來一行輸入數組A[n],(輸入的數組必須滿足問題描述的要求),最後輸出只出現一次的數。
要求:
   你的算法只能是線性時間的複雜度,並且不能使用額外的空間哦~
樣例1
輸入:
4
0 0 0 5
輸出:

5

#include<stdio.h>
int calcCount(int n,int a[])
{
	int i,j;
	int count = 0;
	for(i=0;i<n;i++)
	{
		for(j=0;j<n;j++)
		{
			if(a[i] == a[j])
				count++;
		}
		if(count == 1)
		{
			return a[i];
		}
		count = 0;
	}
	return 0;
}

int main(int argc, char **argv) {
	int i,n;
	int a[10000];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	int ans = calcCount(n,a);
	printf("%d\n",ans);
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章