clean up binary Search function

This commit is contained in:
Jonas Seiler 2023-06-16 10:22:34 +02:00
parent c4c098fcbd
commit 58bec526d1

21
main.jl
View File

@ -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