Учитывая несортированный массив из N целых чисел и функцию getNextIndexOf (int k), которая возвращает индекс следующего элемента со значением 'k', как можно получить последний элемент (т. Е.индекс N) с наименьшим количеством вызовов getNextIndexOf (int k)?
* Другими словами, с какими значениями k 1 , k 2, ..., k m если один вызов getNextIndexOf (int k), так что вызов m th возвращает 'N', и m настолько мал, насколько это возможно?
** Редактировать: можно предположить, что getNextIndexOf может отслеживать последний возвращаемый индекс
(например, как статический локальныйпеременная в C).При самом первом вызове он просто возвращает индекс первого элемента, равный его аргументу (int k).