日期:2014-05-19  浏览次数:20699 次

[算法]来玩玩算法吧-数组对比的问题
借wangjianjun02   (啊龙)的帖子
http://community.csdn.net/Expert/TopicView3.asp?id=5470821

有两个数组:

int[]   a   =   new   int[]{1,2,3,4,5,6,7,8,9,10};
int[]   b   =   new   int[]{1,2,3,4,5,6,7,8};

有什么方法快速的找出这两个数组中不同的数字?

大家都动手写下     最后评测下谁的速度最快

------解决方案--------------------
数据太小,没意义...
------解决方案--------------------
在公司没有事,好好睡一觉多好,搞什么算法呀
我现在不愿思考
------解决方案--------------------
这种题太 "经典 "了...来点有难度的吧...+

想再快点的话,对于纯数字来说,快排并不是最优.


------解决方案--------------------
甲,乙,丙,丁四个人得罪了皇帝,皇帝要惩罚他们,手段比较委婉,他是这么做的:有一座高墙,甲站在墙的一边,面朝墙,乙,丙,丁站在墙的另一边,面朝墙站成一条 线,乙最前,丙在中间,丁在最后,他们都面向墙的。将甲,乙,丙,丁四个人的眼睛蒙上,给他们各自戴上一顶帽子,帽子的颜色分别是红,红,蓝,蓝。将他们眼睛上的纱布拿开,他们不能看自己头上帽子的颜色,站在前面的人看不到后面人头上帽子的颜色,站在后面的人可以看到前面人头上帽子的颜色。他们中只要有人正确说出自己头上帽子的颜色,四个人都释放,一旦说错,四人都处死。注意,只有一次开口说话的机会。他们都很聪明,问:谁最后会开口说话?
------解决方案--------------------
两个都sort一下,再从头到尾扫一遍
------解决方案--------------------
hoho 我也借个地方

这会没事
------解决方案--------------------
二师兄 不要生气哦
------解决方案--------------------
应该是丙会开口说话,首先甲乙都是不可能的,丁可以看到前面两个人的帽子,乙丙的帽子颜色不一样,所以丁肯定不敢开口说话,丙看到乙的帽子颜色,如果他的帽子颜色跟乙一样,丁肯定会出来说话,丁不说话,说明自己的帽子颜色跟乙肯定不一样。所以丙就知道自己帽子的颜色。哈哈复杂吧!!!