美文网首页程序员
很久以前的一个题目

很久以前的一个题目

作者: Kent_Zhang | 来源:发表于2016-02-25 01:06 被阅读123次

突然发现以前回答过的网上的一个题目,
1 有一个数组,假如有一百万个数据,其中有一个的值与其他的不同。如何在最短时间内将这个数据找出来要求:不要开辟新的使用空间,如使用哈希表,不要使用判断语句,如if

现在想了下居然有和以前不同的思路。
稍微描述下。
我理解题意为有100万个int型,其中99…………个相同值,一个不同值。
把100万个数字的最低位bit相加,得到一个数,这个数-1取非,即是不同值的最低位。
其他位,依次如上处理。即可。
按这尿性算法复杂度是O(n),有时间再想想有没有优化的算法了。

伪代码如下:
int unique_value(int data[]) {
int value = 0;
unsigned long long bit = 0;
// 32位循环处理32次
for(int i = 0; i < 32; i++) {
for(int j = 0; j < 100W; j++) {
// 统计位上1的数量
bit += data[j] & (1 << i) >> i;
}
// 算出不同值对应位上是还是0
value |= !(bit - 1) << i;
}
// 返回不同值
return value;
}

代码没变异也没跑过,不知道对不对…………

相关文章

  • 很久以前的一个题目

    突然发现以前回答过的网上的一个题目,1 有一个数组,假如有一百万个数据,其中有一个的值与其他的不同。如何在最短时间...

  • 一个简单的通讯录联系人拼音匹配算法

    这是很久以前遇到一个面试题,通讯录联系人拼音匹配算法,题目描述如下: 题目描述的使用场景很常见,在通讯录输入汉字的...

  • 据说爱笑的人运气都不会差

    看到这个题目,你是否也被@到了,很久以前,就听到身边的一个好友,常把这句话挂在嘴边。 随着时间的推移,阅历...

  • 那个打算先生孩子后念书的女孩怎样了?

    很久以前听过一个笑话。一个女孩写作文,题目是《我的理想》,内容是这样的: 老师的评语是这样的: 多年以后,我成了两...

  • 古堡的秘密

    作者:[美国]凯瑟琳·邓拉 前不久的一个晚上,我对几个朋友谈起了我很久以前读过的一个故事。这个故事的题目叫什么,作...

  • 妈妈,你是我心底的一块溃疡。

    写下这样的题目,妈妈,你要说我大逆不道了。 也许是吧。好像从很久以前开始,我在你眼中,就是一个离经叛道的女儿,一个...

  • [DoubleS1405 CTF] (Forensic) Rou

    很久以前的文章了...没什么营养... Router-02 题目地址: https://ctftime.org/t...

  • 素年锦时,谁与我共赴这场欲望的春宴

    请点击此处输入图片描述 这是很久以前想好的题目,这也是很久以前找好的配图。只是觉得,这一月的最后一天、这“元熙晴和...

  • 读图时代?

    趁着这两天重温唐宋诗词,要把很久以前的一个题目写一下。这个题目是大约一年前写下的,一直放在草稿箱里。那时是同事拿了...

  • 现阶段,我应该看哪些书

    很久以前,我就知道一句话:问题,比答案更重要。而题目就是我问的第一个问题。 我为什么问? ...

网友评论

    本文标题:很久以前的一个题目

    本文链接:https://www.haomeiwen.com/subject/supikttx.html