一道面试智力题目。

js512 2009-04-17 08:50:34
1--100000 数列按一定顺序排列,有一个数字排错,如何纠错?写出最好
方法。两个数字呢?
...全文
723 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
zm_hs 2009-04-28
  • 打赏
  • 举报
回复
学习!!!
gao512008 2009-04-28
  • 打赏
  • 举报
回复
Study

peecars 2009-04-27
  • 打赏
  • 举报
回复
呵呵。脚印
ybbihay 2009-04-27
  • 打赏
  • 举报
回复
学习了
liguangwen86 2009-04-26
  • 打赏
  • 举报
回复
既然错了,那就重排呗,不需要找错误!呵呵
jiangdong5205 2009-04-26
  • 打赏
  • 举报
回复
留个脚印```学习一下下```
lyp297378645 2009-04-26
  • 打赏
  • 举报
回复
冒泡法,插入法!
GeekZFZ 2009-04-26
  • 打赏
  • 举报
回复
学习下
张自强 2009-04-26
  • 打赏
  • 举报
回复
于:2009-04-26 01:09:14 22楼 得分:0
确实,这个时候有必要阐明一下什么是"排错"

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

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

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

不管是那种概念,找出那个位置的算法是最重要的。
Steve 2009-04-26
  • 打赏
  • 举报
回复
上头分析优点小毛病,出现false的该是x1左边的数x0,其他判定没问题.
baobao04551 2009-04-26
  • 打赏
  • 举报
回复
确实,这个时候有必要阐明一下什么是"排错"

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

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

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

不管是那种概念,找出那个位置的算法是最重要的。
Steve 2009-04-26
  • 打赏
  • 举报
回复
按一定顺序排列,可没说是降序还是升序,或者另外的顺序.
看来只能是相邻位置错误算排错.
拿22楼例子来讲:
应该是 12345,排成了142356.亦即只需移动一个数字的位置(这里是4),就可以排成正确序列.
设有函数f(x,y)判定x是否该放到y前方.如f(1,2)=true, f(1,5)=true, f(5,4)=false
那么从1到N遍历,找出第一个让f(x1,x2)=false的数x1,
有两种可能:
1)本该在x1之前的数x1'被移动到后方
2)本该在后方的x1被移动到前方
如果x1与后方近邻元素关系为true,那么显然是第1)中情况.找出第二个f为false的数就是答案.
否则为2),x1即为答案.
算法时间复杂度O(N)

2个数被排错情况比较复杂,分多种情况讨论.楼下来解答吧.
zheng123086 2009-04-25
  • 打赏
  • 举报
回复
是不是如果是1或者100000就只有一个数字排错?
xakf413905282 2009-04-25
  • 打赏
  • 举报
回复
重排
o2xufei 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 js512 的帖子:]
1--100000 数列按一定顺序排列,有一个数字排错,如何纠错?写出最好
方法。两个数字呢?
[/Quote]
很明显的智力题,而非技术题:只可能有2个数字排错,怎么可能只有一个数字排错呢?
答案应该是 按照那个顺序重新排列!
vsked 2009-04-24
  • 打赏
  • 举报
回复
int[] tes={那个数组};
for(int i=0;i<100000;i++){
if((tes[i+1]-tes[i])==1){
System.out.println(tes[i]+"后面的数字:"+tes[i+1]+"排错了吧.");
}
}
Coolfatman 2009-04-24
  • 打赏
  • 举报
回复
错了一个,冒一次泡就行了。
sfwhhp 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lepharye 的回复:]
既然是智力题,就不能按常规的思路去考虑问题了,是吧
我觉得既然知道是1——10000按一定的顺序排列,那就重新对其赋值,不用考虑错误的那个数列了,这样不就正确了吗
[/Quote]

顶!!
enginner_project6 2009-04-24
  • 打赏
  • 举报
回复
三星移动创新者园地全新改版,真正为手机软件开发者提供帮助,谋福利。http://innovatorsamsungmobile.com/71
提供资源:
1、 常用源代码样例库。
2、 三星用户达八千九百万,市场份额占据第二位,存在巨大的商机。
3、 三星专用SDK、API、新功能指导建议,集中的机型适配所需资源。
4、 工程师答疑,帮助解决开发中的疑难杂症。
5、 免费远程真机测试—远程互联网预约挂在网上的真机,上传软件测试,机型丰富。
6、 三星在线商店,机器预装,帮你推销软件。让你轻松赢得第一桶金。

jxst051665 2009-04-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 hwhack 的回复:]
arrays.sort();
先排序,再new一个按顺序存储的1--100000的数组,
再拿这两个数组比较,compare一下就找出了哪些数字不相同。
[/Quote]
支持一下,java的意义就在于充分利用已有库函数~
加载更多回复(13)
史上最全的android和java面试文档集。包括有: java程序员面试宝典.txt Java面试宝典2011版-1C,Java基础部分.doc 三大框架面试题.zip 技术面试题.zip Android笔试题库 C语言终极面试宝典.doc Java笔试题目汇总.pdf Java面试宝典_2010.doc 面试全攻略100题.doc 智力题和答案.doc C语言面试题大汇总.doc 计算机专业必备笔试面试锦囊.doc 笔试.rar 面试题集合.zip C语言面试题大汇总1.doc 面试题集合 java面试题 JAVA面试题集合(项目2部).chm 华为笔试题大全(史上最齐全).doc JAVA题库.doc java面试题.zip Java面试宝典2011版-1A,Java基础部分.doc jsp笔试题全集.doc Java学习笔记(必看经典).doc android和java面试大全.rar JAVA精华.doc JAVA经典算法50题1.doc Android笔试题库.rar Java面试宝典2011版-1B,Java基础部分.doc Java工程师试题(机构招聘)20100526.doc C语言面试题大汇总面试题及答案.doc Java23种设计模式(总结)1.doc JAVA_WEB面试笔试题.doc 实施人员初试题20091009.doc 笔试智力题.doc C语言面试题.doc 2011android面试题目及其答案大全.doc java基础笔试题.doc 安卓鄙视题附答案.txt 史上最全的android面试题库.docx android工程师笔试试卷.doc Android面试题(详细答案).doc Android内测题.doc Java面试题2.doc JAVA面试题80页.doc 智力题.doc JAVA 综合面试题.pdf 分类后的葵花宝典 葵花宝典.doc 九阴真经.doc Java面试题1.doc 葵花宝典-数据库类.doc JAVA面试题集锦.doc Java程序员,面试必读.txt 软通动力招聘测试题.doc java面试葵花宝典.doc 新建 文本文档 (2).txt 125条常见的JAVA面试题.doc NET易筋经.doc 葵花宝典-Java Web类.doc 葵花宝典-基础类.doc 葵花宝典-数据库类1.doc 技术测评java.doc 技术测评.net.doc 瑞星笔试题(15道).doc 汉端笔试题(7页).doc 一道测试notepad笔试题.doc 奇虎面试题.doc 喜安科 面试题.doc 北京博彦科技笔试+面试.doc 清华同方开发的面试题 (有兴趣的看一下了 !) 中软的面试题(转贴).doc 亚控科技比试题.doc 神州泰岳测试试题(笔试)转贴.doc 一家通讯公司的面试题目.doc 软件测试工程师试题发布版.doc 某公司的面试试题.doc 一个外包测试公司的笔试题!.doc 时力科技面试题.doc 合力金桥的笔试题.doc 一道数据库的笔试题目.doc 传视数码公司的面试题.doc 美国英网软件公司题目.doc 软件测试工程师测试试题大集合(二)包括答案.d 波尔世通的笔试+面试.doc 瓦瑟笔试题(限男性).doc 软通动力面试笔答.doc 常见的测试题(转贴).doc 北京大学计算机科学技术研究所.doc 联合网视面试题.doc 缺陷的等级划分,一个经常被问到的问题.doc 软件测试工程师笔试试题(大集合).doc 千像互动的笔试.doc 2012java面试题分析大全.doc JAVA面试题集合(项目2部).chm JAVA经典算法50题1.doc Java工程师试题(机构招聘)20100526.doc Java23种设计模式(总结)1.doc 实施人员初试题20091009.doc 框架图.png struts面试题 hibernate面试题 三大框架.txt JAVA题库.doc
网上有不少Microsoft的测试题,引来不少的眼光。在这里把所有的测试题加以整理,再附上答案。(个别题目答案有多种,文本仅代表作者的思路)每道题的后面会给出一个时间。这个时间是作者做出该题所用的时间。(注意,这不是什么标准时间,相信所有浏览本试卷的朋友都会在某一道或多道题上找到灵感,迅速解题的) 一.最基本题型(说明:此类题型比较简单) 1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(这道题我当初想了一个小时) 2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟) 4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟) 5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时) 6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟) 二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧