1#ifndef EXPONENTIAL_SEARCH_H
2#define EXPONENTIAL_SEARCH_H
6#include "binary_search.h"
16template <
typename T> int64_t exponential_search(std::vector<T> arr, T key) {
20 int64_t i = 1, n = arr.size();
21 while (i < n && arr[i] < key) {
24 int64_t lo = i / 2, hi = std::min(i, n - 1);
26 int64_t mid = (lo + hi) / 2;
27 if (arr[mid] == key) {
29 }
else if (arr[mid] < key) {