lgrthms
Version:
Algorithms and data structures for your JavaScript and TypeScript projects 🧑💻
19 lines (18 loc) • 1.75 kB
TypeScript
export declare function binarySearch<T, K>(array: T[], target: K): T | undefined;
export declare function binarySearch<T, K>(array: T[], target: K, get: (element: T) => K): T | undefined;
export declare function binarySearchIndex<T, K>(array: T[], target: K): number;
export declare function binarySearchIndex<T, K>(array: T[], target: K, get: (element: T) => K): number;
export declare function shiftedBinarySearch<T, K>(array: T[], target: K): T | undefined;
export declare function shiftedBinarySearch<T, K>(array: T[], target: K, get: (element: T) => K): T | undefined;
export declare function shiftedBinarySearchIndex<T, K>(array: T[], target: K): number;
export declare function shiftedBinarySearchIndex<T, K>(array: T[], target: K, get: (element: T) => K): number;
export declare function binarySearchFirst<T, K>(array: T[], target: K): T | undefined;
export declare function binarySearchFirst<T, K>(array: T[], target: K, get: (element: T) => K): T | undefined;
export declare function binarySearchFirstIndex<T, K>(array: T[], target: K): number;
export declare function binarySearchFirstIndex<T, K>(array: T[], target: K, get: (element: T) => K): number;
export declare function binarySearchLast<T, K>(array: T[], target: K): T | undefined;
export declare function binarySearchLast<T, K>(array: T[], target: K, get: (element: T) => K): T | undefined;
export declare function binarySearchLastIndex<T, K>(array: T[], target: K): number;
export declare function binarySearchLastIndex<T, K>(array: T[], target: K, get: (element: T) => K): number;
export declare function searchForRange<T, K>(array: T[], target: K): [number, number];
export declare function searchForRange<T, K>(array: T[], target: K, get: (element: T) => K): [number, number];