一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)

原创 2018年04月16日 00:52:24

这道题的核心思想就是一个数异或另外一个数两次,结果不变。

#include<stdio.h>
void check(int* arr, int sz)
{
    int i = 0;
    int a = 0;
    for (i = 0; i < sz; i++)
    {
        a = a^arr[i];
    }
    printf("不成对出现的数字是:%d\n", a);
}
int main()
{
    int arr[] = { 1, 2, 3, 4, 5, 4, 3, 2, 1 };
    int sz = sizeof(arr) / sizeof(arr[0]);
    check(arr, sz);
    system("pause");
    return 0;
}

C语言:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(

#include int main() {      int arr[]={1,3,3,1,4,6,4,5,5};      int i=0;      int len=sizeof(arr)/s...
  • hanjing_1995
  • hanjing_1995
  • 2016-05-30 17:13:47
  • 1588

一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。请找出这个数字。(使用位运算)

注意:若数组总和为单数且执行两两匹配一定有单数             若数组总和为双数则先求最大奇数组的单数与最后一个元素比较,若不同则有两个单数,若相同则没有单数     如{ 1, 3, 5...
  • as2891877678
  • as2891877678
  • 2016-10-18 19:04:07
  • 197

一组数据中只有一个数字出现一次 ;其他所有数字都是成对出现的请找出这个数字。

题目: 一组数据里边数都是成对出现;里边可能有一个单数、也可能没有、还有可能有两个单数三种情况; 思想: 【一】 如果这组数是奇数个,例如{1,3,5,7,1,3,5};让每个数依次异或则就剩...
  • xiaobingRSQ
  • xiaobingRSQ
  • 2016-11-25 23:14:58
  • 378

一组数据中只有一个数字出现了一次。 其他所有数字都是成对出现的。请找出这个数字(数组指针的方法)

(一)思考思路 例: 一组数据中只有一个数字出现了一次 数据:arr[]={1 ,3 ,5 ,7, 1, 3, 5}这组数据中,只有7出现了一次。 结构:找到的数就是:7. 1:对于这样的一个数组,...
  • xyouyubl
  • xyouyubl
  • 2016-10-19 17:54:15
  • 373

一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)

#include  int main() {      int arr[5];      int i,j;      int len=sizeof(arr)/sizeof(arr[0]);     ...
  • ljy_home
  • ljy_home
  • 2016-06-17 18:36:30
  • 230

一个数组中只有两个数字单独出现,其余数字都是成对出现的,请找出这两个数。

排序:#include #include int check(int arr[], int len) //将arr[]中的数组进行异或...
  • sinat_34967445
  • sinat_34967445
  • 2017-08-06 10:33:05
  • 186

一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。

这题要找出只出现过一次的那个数,如果是一遍遍的遍历对比的话那时间复杂度是非常大的,这里推荐使用异或运算。 我们知道异或运算有个特点,一个数连续两次异或同一个数,这个数的值不变。例如5^4(0101^...
  • Tianzez
  • Tianzez
  • 2017-10-28 22:11:08
  • 175

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个数字,编程实现。 本题思路: 1.将0与数组每个元素依次亦或的结果就是两个只出现一次的元素亦或的值,相同元素的二进制位是相同的,...
  • qq_23556715
  • qq_23556715
  • 2016-08-19 14:53:21
  • 2313

数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数

如题:数组中除了两个数只出现过一次,其他的均出现过两次,请找出这两个只出现过一次的数 例如:{10,9,8,7,6,6,7,8,9,10,5,5,4,3}; 4和3只出现过一次,请找出出现过一次的数。...
  • cxming007
  • cxming007
  • 2014-04-15 13:09:12
  • 7537

序列中只有一个数出现了一次,其他均出现了两次,找出只出现过一次的这个数

例如:{10,9,8,7,6,6,7,8,9,10,5} 其中只有5出现了一次,其他的数均出现了两次,请找出这个数:5。 首先出现在我们脑海中的是最基本的方法:已知只有一个数出现过一次,那么只要嵌套...
  • cxming007
  • cxming007
  • 2014-04-15 10:47:02
  • 1324
收藏助手
不良信息举报
您举报文章:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
举报原因:
原因补充:

(最多只允许输入30个字)