Fix rubocop offenses

This commit is contained in:
Vitor Oliveira 2020-12-20 16:08:48 -08:00
parent 4586b9dcd9
commit c5898581f4

View file

@ -1,30 +1,25 @@
=begin
A pure Ruby implementation of a recursive linear search algorithm
=end
# A pure Ruby implementation of a recursive linear search algorithm
def rec_linear_search(sequence, low, high, target)
unless (high < sequence.length && low < sequence.length)
raise Exception("Invalid upper or lower bound!")
end
raise Exception('Invalid upper or lower bound!') unless high < sequence.length && low < sequence.length
if high < low
return -1
end
if sequence[low] == target
return low
end
if sequence[high] == target
return high
end
return -1 if high < low
return rec_linear_search(sequence, low + 1, high - 1, target)
return low if sequence[low] == target
return high if sequence[high] == target
rec_linear_search(sequence, low + 1, high - 1, target)
end
puts(rec_linear_search([0, 30, 500, 100, 700], 0, 4, 0))
# => 0
puts(rec_linear_search([0, 30, 500, 100, 700], 0, 4, 700))
# => 4
puts(rec_linear_search([0, 30, 500, 100, 700], 0, 4, 30))
# => 1
puts(rec_linear_search([0, 30, 500, 100, 700], 0, 4, -6))
# => -1