数组中只出现一次的数

转载 2013年12月03日 20:55:27

数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x


#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int findnumber(int a[],int n)
{
	int bits[32];
	int i,j;
	memset(bits,0,sizeof(bits));
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<32;j++)
		{
			bits[j]+=((a[i]>>j)&1);
		}
	}
	int result=0;
	for(j=0;j<32;j++)
	{
		if (bits[j]%3!=0)
		{
			result+=(1<<j);
		}
	}
	return result;
}
int main()
{
	const int MAXN=10;
	int a[MAXN]={2, 3, 1, 2, 3, 4, 1, 2, 3, 1};
	cout<<findnumber(a,MAXN)<<endl;
	system("pause");
	return 1;
}


举报

相关文章推荐

C语言:求一个数组中只出现一次的两个数

环 境: Windows 8,Visual Studio 2013 语 言: C语言 实验要求: 给定一个偶数个数的数组,其中有两个数只出现了一次,请通过C语言代码,让计算...

数组中只出现一次的数

1.数组中有一个数字只出现一次数组中有很多成对出现的数字,这些数字的顺序是随机出现的。但是里面有一个数字缺失,怎样用最快的方式将这一个数字找出来?由于只有一个数字是出现一次,其他都是成对出现的,所以此...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

260. Single Number III (找到数组中仅出现一次的两个数)

Given an array of numbers nums, in which exactly two elements appear only once and all the other el...

白话经典算法系列之十七 数组中只出现一次的数

首先看看题目要求: 数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一次。请给出最快的方法找到x。这个题目非常有意思,在本人博客中有《位操作基础篇之位操作全面总结》这篇文章介绍了使用...

【白话经典算法系列之十七】 数组中只出现一次的数

【白话经典算法系列之十七】 数组中只出现一次的数 分类: 白话经典算法系列2013-10-21 11:49 11148人阅读 评论(17) 收藏 举报 白话经典算法面试题算法 ...

找出数组中只出现一次的2个数

题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 思路整理一下: 首先交待一下异或的基本性质:2个...

找出数组中只出现一次的2个数

本文转载自:http://blog.csdn.net/fanzitao/article/details/7900764 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序...
  • vgxpm
  • vgxpm
  • 2015-08-20 19:51
  • 332

位运算求数组中只出现一次的数

今天偶然看到的有趣的问题,有好几个系列,感受位运算的小魅力。 当然下面的题可以用map来简单算出,所以下面的题要求时间复杂度为O(n),空间复杂度为O(1)。1. 简单版 一个数组中,只有一个数...

数组中只出现一次的数

本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢。 欢迎关注微博:http://weibo.com...

找出数组中唯二出现一次的数

原题取自https://leetcode.com/problems/single-number-iii/?tab=Description 题目要求找出数组中唯二出现一次的数,其余数均只出现两次。 要...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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