shtakai
5/10/2016 - 7:00 PM

binary search 2016/05/10

binary search 2016/05/10

require 'pp'

def search(a, t)
  #pp "a:#{a}  t:#{t}"
  return a[0] if a.size == 1
  middle_index = (a.size/2).to_i
  #pp "m:#{middle_index} a[m]:#{a[middle_index]}"
  t < a[middle_index] ? search(a[0..middle_index-1],t) : search(a[middle_index..a.size], t)
end

#list = [1,2,3,4,5,6,7,555,6700]
list = (500..600).to_a
pp list
target = 555
pp search(list,target)