Уровень сложности: Средняя (Medium)
Теги: Массив, Бинарный поиск, Вращённый массив Дан массив целых чисел nums, отсортированный в неубывающем порядке, но повёрнутый в неизвестной точке.
Массив может содержать дубликаты. Проверьте, существует ли заданное целое число target в массиве. Верните true, если target найден, иначе false. 💡 «Повёрнутый» означает: [0,1,2,4,4,4,5,6,6,7] может стать, например, [4,5,6,6,7,0,1,2,4,4]. Пример 1: Ввод: nums = [2,5,6,0,0,1,2], target = 0 Вывод: true Пример 2: Ввод: nums = [2,5,6,0,0,1,2], target = 3 Вывод: false Пример 3: Ввод: nums = [1,0,1,1,1], target = 0 Вывод: true Эта задача — расширение LeetCode 33 (Search in Rotated Sorted Array), но с важным отличием: в массиве могут быть дубликаты. В LeetCode 33 мы легко определяли, какая половина отсортирована, сравнивая nums[mid] с nums[left] или nums[right]. Но при наличии дубликатов возможна ситуация:
nums[left] == nums[mid] == nums[right] Например: [1,0,1,1,1] или [1,1,1,0,1] В этом случае невозможно оп