XIX
Задача о поиске элемента ⭐⭐
Дан упорядоченный массив чисел размером N
Нужно реализовать алгоритм поиска вхождения упорядоченного подмассива размера M
, где M << N
func isInclude(array int[], subarray []int) bool
assert(isInclude([1, 2, 3, 5, 7, 9, 11], []) == true)
assert(isInclude([1, 2, 3, 5, 7, 9, 11], [3, 5, 7]) == true)
assert(isInclude([1, 2, 3, 5, 7, 9, 11], [4, 5, 7]) == false)
Что хочется увидеть:
- Алгоритм со сложность быстрее чем
O(N)
по времени
Добрый день! Есть пара вопросов по задаче "XVII Задача о поиске не отсортированного подмассива". Уточните, пожалуйста
вариант 1) удаляем элемент с индексом 3, получаем отсортированный массив [1, 2, 3, 4, 5]
вариант 2) сортируем массив по возрастанию, получаем [1, 2, 3, 4, 5, 101], сравниваем с исходным и оставляем в итоге только первые три элемента [1, 2, 3] (этот вариант следует из формулировки задачи в комментарии https://gist.github.com/rusdevops/d85340e26aeac720c338874492adf637#gistcomment-3799156)