社区
community_281
帖子详情
一个全是32位整数的大数组,除了其中一个数字出现2次外,其余的数字都出现了3次。如何找出那个只出现了两次的数字?
asddsaasd111
2014-09-30 01:32:15
用hash怎么解决?求c++/Java代码
...全文
393
3
打赏
收藏
一个全是32位整数的大数组,除了其中一个数字出现2次外,其余的数字都出现了3次。如何找出那个只出现了两次的数字?
用hash怎么解决?求c++/Java代码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Vegertar
2014-10-03
打赏
举报
回复
一次遍历。 求所有异或v1,同时求不同值异或v2,然后再异或v1^v2。 遍历时需要做一个bitmap方便求不同值异或,否则内存占太大。
warning_0
2014-10-03
打赏
举报
回复
上个月应付笔试面试的时候看到过一种思路,我说说,你看是不是你想要的。有一种bitmap的东东,以1bit表示一个整数(出现或没出现),我们可以用2bit表示四种状态:没出现、出现一次、出现两次和出现三次及以上,你建立一个整数(uint32_t)数组A(bit序列),每个整数可以表示16个整数,遍历你原来的那个整数数组B,每遍历一个整数,在A中对应位加1(加到3就不变了)。比如说你遍历到B中的一个整数是18,你就把A[1]的bit5bit4加1(原来00,现在就是01,以此类推)。具体实现的话,要用到位运算,不复杂,在《编程珠玑》上有相关讨论。楼主看是不是,是的话,求给分,我好去提问题~~~
会飞的Pikachu
2014-10-01
打赏
举报
回复
帮顶贴 LZ加油
程序员二进制计算器 v1.36
其中,m和n都是
整数
,m指定总位数,n指定小数点后保留几位,如果m或n不足,则按实际位数输出。 例1:指定小数点后保留2位,其余位四舍五入: %.2f 3.14159 = 3.14 例2:指定全部5位,且小数点后保留3位,其余位...
C语言程序设计标准教程
第四行的输出语句格式控制串中,两格式串%d 之间加了
一个
空格(非格式字符),所以输出的a,b值之间有
一个
空格。第五行的printf语句格式控制串中加入的是非格式字符逗号, 因此输出的a,b值之间加了
一个
逗号。第六行的...
C语言标准教程第一章 C语言概论
3.
一个
源程序不论由多少个文件组成,都有
一个
且只能有
一个
main函数,即主函数。 4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。 5.每
一个
说明,每
一个
语句...
一个
全是
32 位
整数
的大
数组
,除了其中
一个
数字
出现
2
次
外
,其余
数字
都
出现
3
次
。如何
找出
那个只
出现
两
次
的
数字
?
#include <stdio.h> int a[] = {433,657,9876,42,9876,657,42,433,433,657,42}; int find_twice(int a[], int length) { int ones = 0; // ones记录了
出现
1
次
... // twos记录了
出现
2
次
和3
次
的位 int not_three...
在重复3
次
的
数组
中查找
一个
全是
32位
整数
的大
数组
,除了其中
一个
数字
出现
2
次
外
,其余的
数字
都
出现
了3
次
。如何
找出
那个只
出现
了
两
次
的
数字
?
一个
全是
32位
整数
的大
数组
,除了其中
一个
数字
出现
1
次
外
,其余的
数字
都
出现
了3
次
。如何
找出
那个只...
community_281
590
社区成员
254,055
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章