Class: Algoruby::BinarySearch

Inherits:
Object
  • Object
show all
Defined in:
lib/algoruby/binary_search/binary_search.rb

Class Method Summary collapse

Class Method Details

.call(array, target) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/algoruby/binary_search/binary_search.rb', line 3

def self.call(array, target)
  left, right = 0, array.size - 1

  while left <= right
    mid = (left + right) / 2
    
    if array[mid] == target
      return mid
    elsif array[mid] < target
      left = mid + 1
    else
      right = mid - 1
    end
  end

  nil
end