private FibonacciSequence GetFibonacciSequence(IList <T> collection) { var sequence = FibonacciSequence.First(); while (sequence.N < collection.Count) { sequence = sequence.Next(); } return(sequence); }
private bool LastElementMatch(IList <T> collection, T valueToFind, FibonacciSequence sequence, int startIndex) { return(sequence.N1 == 1 && startIndex + 1 < collection.Count && _comparer.Compare(valueToFind, collection[startIndex + 1]) == 0); }