首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一路面试智力题目

2012-11-06 
一道面试智力题目。1--100000 数列按一定顺序排列,有一个数字排错,如何纠错?写出最好方法。两个数字呢?[解决

一道面试智力题目。
1--100000 数列按一定顺序排列,有一个数字排错,如何纠错?写出最好  
方法。两个数字呢?

[解决办法]
确实,这个时候有必要阐明一下什么是"排错"

有两种理解:一是数字没有放对位置,二则是上面各位给出的算法:比较相邻位置。

如果排错得理解是没有放对位置的话,那么15楼所持的观点很对。即不可能出现一个数字错的情况。而且两个数字错位的情况也只可能出现在对等位置上,如:123456,只肯能是,1和6;2和5;3和4;这样下来时间复杂度就可以减半了。

但是如果他排错的概念是:相邻位置出现错乱,比如 12345,排成了142356,那么这样还只能找出一个数字错位的情况。

不管是那种概念,找出那个位置的算法是最重要的。

热点排行