源代码如下:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int main()

{

int a[] = {1,2,3,4,6,3,2,1};

int n = 0, i, size, count = 0, bit = 0;

int result1, result2;

size = sizeof(a) / sizeof(a[0]);

/*这一块用于获得异或的结果n*/

for (i = 0; i < size; i++)

{

n = n ^ a[i];

}

printf("n = %d\n", n);

/*下面的这一块用于获得,比如在这题,4和6异或的结果为2,那么其中就会4&2就是0,而6&2就不是0,那么就可以成功把4和6区分开。当然对于5和10,异或结果是00001111,但只要我们取出其中一个比特就好,比如1,5&1不是0,而10&1是0.也可以成功区分开。所以下面的代码就是取出第一个1*/

while ((n & (1 << count)) == 0)

{

count++;

}

printf("%d", (1 << count));

/*成功获得00000010以后,就可以获得结果了*/

result1 = result2 = 0;

for (i = 0; i < size; i++)

{

if ((a[i] & (1 << count)) == 0)

{

result1 = result1 ^ a[i];

}

else

{

result2 = result2 ^ a[i];

}

}

printf("the result is %d and %d.\n", result1, result2);

return 0;

}

注意点 if (5&3 == 0,5&3一定要加(),也就是改成if ((5&3) == 0)。

异或方式找到一组数组中不重复的两个数(同班同学方法)相关推荐

  1. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  2. 位运算:找出来数组中落单的两个数

    题目大意 每次给你 2 * n + 2 个的数字,除其中两个数字之外其他每个数字均出现两次,找到这两个数字并升序输出. 思路 最简答的想法,排序,然后找出只出现一次的数,不再叙述. 来说一说用位运算怎 ...

  3. 找出数组中不重复的一个数

    只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 ...

  4. 小小c#算法题 - 1 - 找出数组中满足条件的两个数

    把一些东西放到网上,看的时候方便一些.代码可能有bug且不是最佳解决方案,仅供参考. 题目:输入一个按升序排序的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 ...

  5. 【六种方式】去除数组中的重复元素

    文章目录

  6. 找到所有数组中消失的数字_【一点资讯】千万程序员的呼声:面试如何拿到大厂Offer?这份阅读量超过11W+的算法刷题宝典请你原地查收 www.yidianzixun.com...

    如何才能通过面试拿到大厂Offer? "刷leetcode!" 这是我听到最多的回答! 现在越来越多的人应聘工作时都得先刷个几十百来道题,不刷题感觉都过不了面试. 无论是面测试.算 ...

  7. LeetCode 25K 个一组翻转链表26删除排序数组中的重复项

    如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡. K个一组翻转链表 题目要求 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小 ...

  8. 《LeetCode力扣练习》第448题 找到所有数组中消失的数字 Java

    <LeetCode力扣练习>第448题 找到所有数组中消失的数字 Java 一.资源 题目: 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内.请你 ...

  9. leetcode(3)——697. 数组的度(C++版本注释)(map容器),448. 找到所有数组中消失的数字(取余操作,C++中的auto类型)

    文章目录 前言 697 程序 思路 收获 map容器 448 程序 收获 取模操作的思考 auto 前言 大佬的程序,边刷边总结边学语言. 题目697 697 程序 class Solution {p ...

最新文章

  1. 时隔多年,ORB-SLAM3终于来了
  2. tomcat升级后报错: Invalid character found in the request target.
  3. 1.15 实例内部类
  4. java职业发展路线图_Java程序员如何选择未来的职业路线
  5. Quartz源码总结
  6. [vue] 怎么修改vue打包后生成文件路径?
  7. C++primer第八章 IO库 8.1 IO类
  8. 基于Myeclipse的三大框架(SSH)整合
  9. 关于eclipase出现的problems during content assist报错问题
  10. 湿气重的人,脸上会有哪些信号?
  11. windows中的过滤绑定如何动态卸载
  12. 通知:大数据技术架构知识库公开
  13. ppt加音乐计算机一级,PPT2016背景音乐该怎么设置?
  14. 自由-进化/开源中国众包平台
  15. cdr 表格自动填充文字_Cdr教程 用CorelDRAW绘制百事可乐标志Logo设计教程
  16. MySQL单表数据量大优化方案及注意事项
  17. JavaEE:网络编程套接字
  18. opencv-python频繁报错尝试解决措施
  19. MYSQL数据库DML常见的命令
  20. 计算机编程语言的应用

热门文章

  1. linux shell脚本写法,linux: 常用shell脚本写法
  2. qt如何用python结合_在Qt(C++)中与Python混合编程
  3. java有画图的库吗_Java画图
  4. windows 10 内置bash 安装32位支持
  5. sam机架和kx连线图_「声卡跳线」雅马哈UR22C/UR24C声卡设置机架直播K歌
  6. ado filter 多条记录_车里能开直播 行车记录仪十大隐藏设置
  7. visual studio输入法打不了中文_我为什么不用Mac自带输入法
  8. imu与gps之间的时间戳_一个时间戳精度问题,引发了一个MySQL血案
  9. 理解注意力机制的好文二
  10. 用计算机控制检测实时温度,温度实时测量及控制系统.doc