подскажите, пожалуйста?
Код:
https://pastebin.com/49YSdUTj
Задача:
Даны два массива неповторяющихся целых чисел, упорядоченные по возрастанию. A[0..n-1] и B[0..m-1]. n » m. Найдите их пересечение. Требуемое время работы: O(m * log k), где k - позиция элементта B[m-1] в массиве A.. В процессе поиска очередного элемента B[i] в массиве A пользуйтесь результатом поиска элемента B[i-1]. n, k ≤ 10000.
Опять бинарный поиск без сортировки, да?
Интересно, а -1 в массивах у тебя не может лежать?
А не надо ли сбрасывать left и right перед каждым поиском B[i] в А ?
В коде мне не нравится эта конструкция (left == size || array[left]!=target) ? -1 : left; Ибо может быть выход за пределы array[left] Я бы написал так (left < size && array[left]==target) ? left : -1;
Обсуждают сегодня