rotated-array-set
Version:
Set of (possibly rotated) arrays
22 lines (21 loc) • 654 B
TypeScript
export declare function arrayEqual(a: Array<string>, b: Array<string>): boolean;
export declare function rotatedArrayEqual(a: Array<string>, b: Array<string>): boolean;
interface Node<T> {
keys: Array<string>;
hash: number;
value: Array<T>;
}
export type Stringify<T> = (t: T) => string;
export declare class RotatedArraySet<T> {
private stringify;
private hashCache;
tree: Map<number, Set<Node<T>>>;
constructor(stringify?: Stringify<T>);
private makeNode;
add(arr: Array<T>): boolean;
private _has;
has(arr: Array<T>): boolean;
delete(arr: Array<T>): boolean;
values(): Array<Array<T>>;
}
export {};