首页 > 代码库 > Singal Num(一)
Singal Num(一)
题目描述
给定一个数组,除了一个数出现1次之外,其余数都出现2次。找出出现一次的数。
如:{1, 2, 1, 2, 1, 2, 7}, 找出7。
输入描述
第一行输入一个数 n,代表数组的长度,接下来一行输入 n 个整数,表示数组 A[n]。
输出描述
输出只出现一次的数。
输入样例
4 0 0 5 5 7
输出样例
7
题目分析
把数组中所有的数字都异或起来,则每对相同的数字都会得0,然后最后剩下来的数字就是那个只有1次的数字。
测试代码
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main(void) 5 { 6 int n, i, *arr; 7 8 scanf("%d", &n); 9 arr = (int *)malloc(n * sizeof(int)); 10 scanf("%d", arr); 11 for(i = 1; i < n; i++) 12 { 13 scanf("%d", arr + i); 14 arr[0] ^= arr[i]; 15 } 16 printf("%d\n", arr[0]); 17 18 free(arr); 19 return 0; 20 }
Singal Num(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。