clean up binary Search function
This commit is contained in:
parent
c4c098fcbd
commit
58bec526d1
21
main.jl
21
main.jl
@ -37,23 +37,16 @@ end
|
|||||||
function binarySearch(word::String, words::Vector{String})
|
function binarySearch(word::String, words::Vector{String})
|
||||||
left = 1
|
left = 1
|
||||||
right = length(words)
|
right = length(words)
|
||||||
while right - left > 1
|
while left < right
|
||||||
middle = ceil(Int, (right + left) / 2)
|
middle = floor(Int, (right + left) / 2)
|
||||||
if words[middle] == word
|
if words[middle] < word
|
||||||
return true, middle
|
left = middle + 1
|
||||||
elseif words[middle] < word
|
elseif words[middle] > word
|
||||||
left = middle
|
right = middle - 1
|
||||||
else
|
else
|
||||||
right = middle
|
return true, middle
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
middle = (right + left) / 2
|
|
||||||
if words[ceil(Int, middle)] == word
|
|
||||||
return true, ceil(Int, middle)
|
|
||||||
end
|
|
||||||
if words[floor(Int, middle)] == word
|
|
||||||
return true, floor(Int, middle)
|
|
||||||
end
|
|
||||||
return false, 0
|
return false, 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user