一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现
程序员文章站
2024-02-02 15:20:28
...
<==接上一篇博客:找到出现一次的两个数字第二种方法.
因为我第一次看到这道题,首先想到的是用第二种方法编程,用了指针去比较,循环语句用的是while.然后我写了好久,但我没做出来,后来看了一个大佬的博客,竟有点怀疑人生,哎自愧不如这道题代码竟然可以这么简单
#include <stdio.h>
#include <stdlib.h>
int main()
{
// 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。
//找出这两个数字,编程实现。
int arr[] = { 4,8,8,4,5,9,3,5,9,3,15,56 };
int count = 0;
int sz = sizeof(arr) / sizeof(arr[0]);//12
int i = 0;
int j = 0;
for(i = 0; i < sz; i++)
{
count = 0;//每次执行循环时初始化为0
for (j = 0; j < sz ; j++)
{
if (arr[i] == arr[j])
{
count++;
}
}
if (count == 1)
{
printf("%d\n",arr[i]);
}
}
system("pause");
return 0;
}
思考:上一篇博客用的是二进制位移的方法,不太容易想,而且也比较难读懂,这种方法它是直接根据题目的需求来设计的。就是:我只管题目中出现一次的数字,至于其他数字我不管你出现几次,和我无关。然后自定义一个变量计数,最后打印出只出现一次的数字,思路特别清晰。
上一篇: Win32汇编学习(1):基本概念
下一篇: 微机原理与接口技术实验:汇编综合练习
推荐阅读
-
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现
-
一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现
-
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
c语言 一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
【c语言】一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
C语言:一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。
-
C语言编程实现之一个数组中只有两个数字是出现一次,其他所有数字都出现了两次,找出这两个数字