假设我已经整理排列,我想算元素X的出现计数出现
伪代码:
SET Lo to 1
SET Hi to array length
WHILE Lo <= Hi
SET Mid to (Lo + Hi)/2
IF X < array[Mid] THEN
SET Hi to Mid - 1
ELSE IF X > array[Mid] THEN
SET Lo to Mid + 1
ELSE
RETURN Mid
ENDIF
ENDWHILE
RETURN -1
现在假设我想找到的所有出现数组中的所有数字,但我没有成功。
例如 - A = [1,1,2,2,2,2,5,5,5]返回(1,2),(2,4),(5,3)
算法必须是O(log(n))
有帮助吗?
您发布的代码与问题的关系如何? – Henry 2014-11-02 08:57:10
我认为它只是需要修改@亨利 – john 2014-11-02 08:58:31
“找到阵列中所有数字的所有出现”是什么意思? – NPE 2014-11-02 09:01:42