Skip to content

Latest commit

 

History

History
30 lines (25 loc) · 786 Bytes

702.search-in-a-sorted-array-of-unknown-size.md

File metadata and controls

30 lines (25 loc) · 786 Bytes

問題

https://leetcode.com/problems/search-in-a-sorted-array-of-unknown-size/

回答

初回の回答:

終端がわからない配列から target と一致する index を返せという問題だが、終端を探す工程がめんどくさいので、配列の取りうる範囲が $1 <= secret.length <= 10^4$ という条件から、最初から 10000 個の要素を持つ配列とみなしてしまった。

# @param {ArrayReader} reader
# @param {int} target
# @return {int}
def search(reader, target)
    l = 0
    r = 10000
    while l < r do
        m = l + (r - l) / 2
        result = reader.get(m)
        return m if target == result
        if target < result
            r = m
        else
            l = m + 1
        end
    end
    -1
end