首页 新闻 会员 周边

C笔试题求解思路

0
悬赏园豆:5 [待解决问题]

广联达的笔试题:

简化后:一列(编号)整数数组,两两相同,现有不同的编号A和B与他们也都不相同,混入其中,求A和B的编号是多少,要求:时间复杂度为o(n);空间复杂度o(1);

求思路????

苗苗彬的主页 苗苗彬 | 初学一级 | 园豆:184
提问于:2014-09-20 21:17
< >
分享
所有回答(4)
0

折半,如果中间的数字串位了一位,表明从开头到这位,有一个是不同的;如过串了两位,表明两个数都在开头到这位之间;如果一个都没有串位,就表明在后半部分。类似折半查找,具体实现自己弄吧!

xingoo | 园豆:711 (小虾三级) | 2014-09-20 23:17
0

1、是两两不相同吧?

2、编号还有什么特征?

3、A、B又有什么特征?

真的我看了很糊涂。能否把原题完整的贴出来?

519740105 | 园豆:5810 (大侠五级) | 2014-09-21 08:44
0

这个题中的两两相同应该是迷惑人的,其实就是让你找出A、B的编号。算法的要求是时间复杂度O(n),空间复杂度是O(1),这个问题主要考你对时间复杂度、空间复杂度的理解。

就一个for循环就行了。

乐享程序员 | 园豆:930 (小虾三级) | 2014-09-22 13:32
0

建立一個 隊列長度1/2的hash表

for遍歷過程中  看hash表中是否有相應的數據,沒有則push進hash表,有則pop出來

最後hash表中剩下的應該就是了吧

lean's world | 园豆:202 (菜鸟二级) | 2014-09-22 15:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册