由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 编程菜鸟,请教CISCO面试题。
相关主题
F家电面:group Anagrams问一下sorting
求问Jane Street一道面试题一个cc150里面的题目,不解
一道面试题也问一个算法题
请教一个面试题一道位运算题
我的面试题总结问个google面试题
为啥没有人报cisco的面经哇一道a家电面题目
对一些烂大街了的面试题, 要注意伪装问一道题(8)
A家面试题[轉載]amazon online test面经,现在真变态,开摄像头,考gre逻辑。
相关话题的讨论汇总
话题: bit话题: cisco话题: sorted话题: 数字
进入JobHunting版参与讨论
1 (共1页)
t*****a
发帖数: 106
1
编程菜鸟,面了一下CISCO.一道很简单的题。一个Sorted array A,元素是数字1~N,一
个数字丢失,如何最快的找到丢失的数字。我的算法是binary search,先比较A[(n-1)
/2]==1+(n-1)/2, 相等,丢失数字在右侧,否则在左侧,递归可得O(log(N))的算法。
但interviewer说我的算法不够快,应该数0,1个数,做bit manipulation。但bit
manipulation也是O(N)的复杂度啊。哪位大侠能解释一下如何用bit manipulation达到
比O(log(N))更优的时间复杂度啊。
e*****i
发帖数: 182
2
简单来说,你的算法是错的,怎么lgn法啊,看一半如何知道哪一半丢了啊?
e*****i
发帖数: 182
3
没看到sorted不好意思!
不过觉得题目不可能是sorted!
w*********0
发帖数: 147
4
是不是bit manipulate位运算更tricky一些,其次更简单。
t*****a
发帖数: 106
5
确实是sorted,如果不是sorted那就是直接XOR了,我double check了,开始我说可以
XOR,他说对这个specific question, sorted的array,该如何做。这个肯定没有听错。

【在 e*****i 的大作中提到】
: 没看到sorted不好意思!
: 不过觉得题目不可能是sorted!

t*****a
发帖数: 106
6
我理解他的bit manipulation就是CC 150上的5.7题。
CC150上的题是这样的
"An array A[1…n] contains all the integers from 0 to n except for one
number which is missing. In this problem, we cannot access an entire integer
in A with a single operation. The elements of A are represented in binary,
and the only operation we can use to access them is “fetch the jth bit of A
[i]”, which takes constant time. Write code to find the missing integer.
Can you do it in O(n) time?"
但interviewer没说一次只能fetch 一位bit.实在想不出来有什么比O(log(N))更快的算
法了。

【在 w*********0 的大作中提到】
: 是不是bit manipulate位运算更tricky一些,其次更简单。
w*********0
发帖数: 147
7
不,我的想法bit manipulation是遍历数组的每个数的最后一位,即与1'b1做与。如果
是连续的应该就会得到0,1,0,1,0,1。。。。循环,但是漏一个数字就会出现0,0
.或者是1,1.再看该数字即可,这样是不是位运算更多一些,于是就简单点?菜鸟的一
点小想法。

1)

【在 t*****a 的大作中提到】
: 编程菜鸟,面了一下CISCO.一道很简单的题。一个Sorted array A,元素是数字1~N,一
: 个数字丢失,如何最快的找到丢失的数字。我的算法是binary search,先比较A[(n-1)
: /2]==1+(n-1)/2, 相等,丢失数字在右侧,否则在左侧,递归可得O(log(N))的算法。
: 但interviewer说我的算法不够快,应该数0,1个数,做bit manipulation。但bit
: manipulation也是O(N)的复杂度啊。哪位大侠能解释一下如何用bit manipulation达到
: 比O(log(N))更优的时间复杂度啊。

t*****a
发帖数: 106
8

,0
这种算法的本质是检测是否连续出现两个奇数,或者两个偶数,但算法复杂度还是O(N)
啊,不会比O(log(N))快。感觉那个interviewer自己没想明白,一般面试题O(log(N))
基本上就是能到达的最优了。

【在 w*********0 的大作中提到】
: 不,我的想法bit manipulation是遍历数组的每个数的最后一位,即与1'b1做与。如果
: 是连续的应该就会得到0,1,0,1,0,1。。。。循环,但是漏一个数字就会出现0,0
: .或者是1,1.再看该数字即可,这样是不是位运算更多一些,于是就简单点?菜鸟的一
: 点小想法。
:
: 1)

1 (共1页)
进入JobHunting版参与讨论
相关主题
[轉載]amazon online test面经,现在真变态,开摄像头,考gre逻辑。我的面试题总结
从地里转一个 大家共勉: 我的求职总结(EE找码农工作,已搞定为啥没有人报cisco的面经哇
报offer对一些烂大街了的面试题, 要注意伪装
两道algorithm电面题(update 答案)A家面试题
F家电面:group Anagrams问一下sorting
求问Jane Street一道面试题一个cc150里面的题目,不解
一道面试题也问一个算法题
请教一个面试题一道位运算题
相关话题的讨论汇总
话题: bit话题: cisco话题: sorted话题: 数字