前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >找出只出现一次的数---异或性质

找出只出现一次的数---异或性质

作者头像
名字是乱打的
发布2022-05-13 09:18:00
2050
发布2022-05-13 09:18:00
举报
文章被收录于专栏:软件工程

参照LintCode的道题目,内容如下所示:

给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。   样例   给出 [1,2,2,1,3,4,3],返回 4

利用异或性质

此题考察的是异或运算的特点: 即两个相同的数异或结果为0。 0异或任何数,结果是这个数0^X=X

代码:

代码语言:javascript
复制
public static int find1From2(int[] a){
        int len = a.length, res = 0;
        for(int i = 0; i < len; i++){
            res = res ^ a[i];
        }
        return res;
    }
举个栗子 分析遍历结果

int[] arr=new int[]{2 ,1 ,3 ,2 ,1}; 其^下来为 res=0^2^1^3^2^1; res=0^2^2^1^1^3 res=0^3; res=3;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参照LintCode的道题目,内容如下所示:
  • 利用异或性质
  • 代码:
    • 举个栗子 分析遍历结果
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档