From 4b34faccca554869ba31cb374a002c2dc74f693e Mon Sep 17 00:00:00 2001 From: Philip Schikora Date: Tue, 2 Nov 2021 12:41:47 +0100 Subject: [PATCH] Update fibonacci_search.rb --- searches/fibonacci_search.rb | 44 ++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/searches/fibonacci_search.rb b/searches/fibonacci_search.rb index 0a845bd..439ac41 100644 --- a/searches/fibonacci_search.rb +++ b/searches/fibonacci_search.rb @@ -1,34 +1,34 @@ def fibonacci_search int arr, int element - n = n.size + n = n.size f2 = 0 f1 = 1 - f = f2 + f1 + f = f2 + f1 offset = -1 - while f < n do - f2 = f1; - f1 = f; - f = f2 + f1; + while f < n do + f2 = f1; + f1 = f; + f = f2 + f1; end - while f > 1 do - i = [offset+f2, n-1].min + while f > 1 do + i = [offset+f2, n-1].min - if arr[i] < element - f = f1 - f1 = f2 - f2 = f - f1 - offset = i - elsif arr[i] > element - f = f2 - f1 = f1 - f2 - f2 = f - f1 - else - return i + if arr[i] < element + f = f1 + f1 = f2 + f2 = f - f1 + offset = i + elsif arr[i] > element + f = f2 + f1 = f1 - f2 + f2 = f - f1 + else + return i end - end - - return offset + 1 if f1 && arr[offset + 1] == element + end + + return offset + 1 if f1 && arr[offset + 1] == element -1 end