实现代码:

int GetIdxOfFirst1AtData(int curData)
{int curIdx = 0;const int maxIdx = 32;while (curIdx != maxIdx){if (0 == curData & 0x01) return curIdx;++curIdx;curData >> 1;}return -1;
}

bool Is1InCertainIdxAtData(int curData, int pos)
{curData >> pos;return (0 == curData & 0x01);
}
void GetTwoNumAppearOnce(int* pData, int size, int& num1, int& num2)
{if (nullptr == pData || size < 2) return;int resultOfXOR = 0;for (int idx = 0; idx < size; ++idx) resultOfXOR ^= pData[idx];int destIdx = GetIdxOfFirst1AtData(resultOfXOR);for (int idx = 0; idx < size; ++idx){int curData = pData[idx];if (Is1InCertainIdxAtData(curData, destIdx)) num1 ^= curData;else num2 ^= curData;}
}

40. 数组中只出现一次的数字(C++版本)相关推荐

  1. 【剑指offer-Java版】40数组中只出现一次的数字

    数组中只出现一次的数字:输入一个数组,该数组中有两个数字只出现了一次,其他数字都出现了两次,求出这两个只出现了一次的数字 要求时间复杂度为O(n)空间复杂度为O(1) 考虑一个数组中只有一个数字仅仅出 ...

  2. 剑指offer面试题[40]-数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...

  3. 40:数组中只出现一次的数字

    /*** 面试题40:数组中只出现一次的数字* 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.*/ public class _40_num_one_ti ...

  4. 【难题+重点】剑指offer——面试题40:数组中只出现一次的数字

    剑指offer--面试题40:数组中只出现一次的数字 Solution1: 书中展示了很棒的思路: 关于异或的两个性质应该知道: (1) X^X = 0; (2) X^0 = X; class Sol ...

  5. 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字

    一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...

  6. [剑指offer] 数组中只出现一次的数字

    本文首发于我的个人博客:尾尾部落 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了偶数次.请写程序找出这两个只出现一次的数字. 解题思路 法一:大家都能想到的HashMap法 法二:异或法 ...

  7. 牛客题霸 [数组中只出现一次的数字] C++题解/答案

    牛客题霸 [数组中只出现一次的数字] C++题解/答案 题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 题解: 用map来记录每个数字出现几次, ...

  8. 数组中只出现一次的数字

    一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 数字都出现两次,则异或肯定为0. 考虑下这个题目的简化版--数组中除一个数字只出现1次外,其它数字都成对出 ...

  9. 【剑指offer】面试题40:数组中只出现一次的数字

    题目: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 思路: 因为只有两个只出现一次的数字,所以所有数字进行异或之后得到值res一定不是0.这样,res ...

  10. 面试题40:数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 题目分析 剑指Offer(纪念版)P211 ① ...

最新文章

  1. 开源软硬一体OpenCV AI Kit(OAK)
  2. Centos7 单台服务器搭建Elasticsearch6.0.1集群
  3. 品质管控计划ppt怎样写_品质管理需要做好几件事
  4. 微信小程序——解决上传并部署云函数时报错ResourceNotFound.Function, 未找到函数版本,请创建后再试。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g
  5. 噪声与振动控制工程手册_声学分享客噪声与振动控制篇大型隔振工程案例介绍...
  6. 安装12G内存读出内存条为3.45G的处理方法
  7. Java, C#, Swift语法对比速查表
  8. 方差为什么用平方不用绝对值_为什么戚风蛋糕用玉米油而不用黄油?
  9. rust投递箱连接箱子_一种用于防盗的牛奶投递箱的制作方法
  10. [Luogu 1730]最小密度路径
  11. Moq -.NET的Mocking库
  12. android dialog一个按钮,7种形式的Android Dialog使用实例
  13. linux拷贝4g以上文件夹,32位Ubuntu中支持超过4G的大内存的方法
  14. idea git 各种颜色代表的含义
  15. FFMPEG详细参数
  16. java生成报表_用java实现报表导出
  17. C盘扩大 解决办法
  18. TestCenter测试管理工具功能详解六(K)
  19. 2013年 雷诺 Renault Zoe | 警告信息 “停车: 电力故障危险”
  20. 电视显示正在接入或无法接入认证服务器,长虹网络电视无法连接服务器,怎么回事?-长虹电视接入网络障碍...

热门文章

  1. php项目踩到的empty函数的一个坑
  2. 【bzoj3298】[USACO 2011Open]cow checkers(博弈论)
  3. 足不出户逛里约 神马搜索推出奥运会蓝光页面
  4. expect - linux远程执行命令
  5. 设计模式(行为型模式)——模板方法模式(Template Method)
  6. 9.iterm 颜色
  7. 132.Function Handing 函数
  8. 1.OAuth 简介
  9. 22. PHP 日期和时间
  10. SmartBear继SoapUI Pro 5 2之后推出新版本改名SoapUI NG Pro