胚芽米比白米好吗?# Living
t*a
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))更优的时间复杂度啊。
个数字丢失,如何最快的找到丢失的数字。我的算法是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))更优的时间复杂度啊。