假設我已經整理排列,我想算元素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