一百多人浩浩荡荡的到了计算机系的实验室。
说是实验室,其实是上机操作的地方,偌大的房间里放着几百台电脑,整整齐齐的排成列。
小刀本不想做这种无聊的事,更不想跟人在这种事上争胜,禁不住陈峰不断的怂恿说:“就算是去看看老师出什么古怪的题目也好啊。”眼看所有人都等着自己,只好不情不愿的跟着来了。
赵老师指定了两台电脑给两人坐下,小刀和金凯坐在同一排,隔着一条过道和几台电脑,互相看不多对方的情况。其他的人则把两人围了个水泄不通。
赵老师一副武林大会主持人的架势:“两位准备好了吗?”
金凯把双手放在键盘上严阵以待:“准备好了。”
赵老师看看小刀,见他不说话,便道:“那我就开始出题了。现在给出一个数组,这个数组中所有的数字都出现了两次,只有一个数字只出现了一次,请你把这个数字找出来。”
金凯有点生气了:“这个只不过是一个循环查找的问题,怎么能够比出高低?”
赵老师淡淡的说道:“如果觉得简单就快点写,谁先写好能够得到正确的接过,没有bug就算赢了。”
金凯确实有点不爽,又怕被小刀抢了先,愤愤不平的开始敲打键盘,下手还有点重,把键盘敲得“噼噼啪啪”直响。他一边在自己的屏幕上输入,一边偷空看看那边的小刀,只见他搔着有点凌乱的头发,好像不知道如何下手的样子。
陈峰在小刀旁边,急得尿都出来了,不断的催促:“你倒是快写啊,你看人家都快写完了!”比武招亲什么的陈峰倒是不在乎,反正不管输赢,秦子瑶肯定都是小刀的,他只是不想朋友在这么多人面前丢脸。
“坏了!”小刀突然站起来就想走,“我们出门的时候烧着水,好像忘了关火了!”
陈峰一把将小刀按回到座位上:“烧坏了锅老子给你买新的,烧了房子老子就赔他,你给我快点写!”
“我们忘了喂大吉吃东西了……”
“你小子皮痒了是不是?”
小刀苦着脸道:“我真不想做这种无聊的事。”
赵老师冷笑道:“你是不是也嫌题目太简单了?”
小刀不说话。
赵老师道:“好吧,既然你们两位都这么想,那么我们把题目的难度升一下级。假如这个数组中只出现一次的数字不是一个,而是两个,那么算法又该怎么写?”
金凯楞了一下,犹豫着把已经写好的代码删除,重新开始输入。这次他一边想一边写,输入得慢多了。
在万众期待的目光中,小刀无可推脱,略微思考了一下,也开始敲打键盘输入。
所有人都安静的看着,偌大的房间里只有两人敲打键盘的声音。
小刀的代码全部都写在了一行,没用转行,也没用分段。
连李丹都忍不住讥笑道:“哈!有你这么写代码的吗?”
小刀看都懒得看他一眼。
秦子瑶狠狠的瞪了李丹一眼:“你憋打扰人行不行?”
李丹被秦子瑶瞪了这一眼,感觉浑身都酥软了。
五分钟之后,小刀重重的敲下回车键,代码写完,开始运行。
赵老师过来,在屏幕上输入了十几个数字,按下确认。不到一秒钟,答案就显示出来了。无误。
那边金凯还在写着代码。
赵老师拖着屏幕看小刀那一行长长的代码道:“你这个代码风格真是……不敢恭维。”说着,自己动手把小刀的那一行代码转行,分段,排列得清清楚楚整整齐齐。然后很满意的点点头,也不知道是为了小刀的代码,还是自己整理之后的风格。
金凯的代码也已经写完,可是调试之后还有错误。
赵老师来到金凯身边:“你已经输了。”
金凯大惊道:“不可能,他怎么可能这么快?!”
赵老师道:“你用得是非常常规的算法,用多个循环来进行查找,算法效率地下不说,代码也相对复杂,思路一旦不稍微不清晰,很容易出错。”
金凯将信将疑的说道:“难道还要其他的算法吗?”
赵老师道:“你可以去看看小刀的算法,也许可以借鉴一下。”
金凯想了想,终于站起来,走到小刀的电脑旁边。
“这是什么意思?”把赵老师整理出来的那短短三十来行代码看了几遍,金凯还是没用看懂。
陈友微笑道:“小刀,你给大家解释一下你的算法吧。”
小刀搔搔后脑,有点难为情的说道:“其实这个题的重点,是‘两次’和‘一次’这两个关键词。”
“那又怎样?”很多人异口同声的问道。
小刀道:“同一个数字,异或两遍就相当于没用异或,还是它本身……”
“我知道了!”金凯恍然大悟,激动的叫道,“所有你就用异或的方式,先把这个数组分成两组,每一组都只有一个只出现一次的数字,然后……然后再把这两个数组分别与零异或,就可以得到只出现一次的数了!”
小刀难为情的看着金凯道:“就是这样。”
其他人还在似懂非懂。
金凯激动得脸都红了:“你这个算法确实比我那种一个数字一个数字的找高明多了!我只会根据计算机教材上教的生搬硬套,却不能把其他的知识也融会贯通。我一直对你很不服气,觉得你又是靠建筑师,又是看其他的杂书,怎么可能把专业学好?可是现在我终于看