- 22, Oct 2024
- #1
Ваша задача — найти местоположение (индекс чтения) данного элемента.
Time Complexity Coefficient -------------------------------- O(1) 0.25 O(log(n)) 0.5 O(n) 5 O(n*log(n)) 8.5 O(n^2) 10 O(greater than n^2) 20in an array gone through the following transformation process:
- Возьмите полностью отсортированный целочисленный массив размером
I
I
известно неявно) - Возьмите любое случайное количество взаимоисключающих пар четных индексов (так как ни один индекс не встречается более чем в одной паре) из массива и поменяйте местами элементы в этих индексах.
Пример массива может быть таким
I
образованный
0.5
и образец <byte count of your program>*<coeff. of complexity>
to find in this array can be
-1
Вы должны вывести индекс элемента X
in the final array ( [5, 2, 3, 4, 1, 6, 9, 8, 7, 10] 1
в приведенном выше примере) или <Array> <X>
if the element is not found in the array.
Правила
- Встроенные функции поиска запрещены.
- Вы должны написать метод/функцию/программу, которая принимает входные данные из STDIN/аргументов командной строки/аргументов функции.
- Ввод должен быть в
-1
format. Example:4
- Входной массив также может содержать повторяющиеся целые числа. В таком случае выходным может быть любой индекс. ОБНОВЛЯТЬ : Вы можете предположить, что общее количество дубликатов << (намного меньше) размера массива. В общем, дубликаты теперь запрещены, чтобы не влиять на временную сложность алгоритма поиска.
- Выходные данные должны быть индексом элемента
X
in the array or-1
если нет.
Подсчет очков
- Поскольку a и a , ваш результат рассчитывается по формуле
X
- Коэффициент сложности определяется на основе временной сложности вашего кода в наихудшем случае (Big-O) с использованием приведенных ниже сопоставлений.
- Если вашему коду необходимо знать длину массива, он может вычислить длину с помощью встроенных методов, и это не будет увеличивать временную сложность поисковой части кода.
// Take fully sorted integer array
[-1, 2, 3, 4, 5, 6, 70, 80, 90, 100]
// Take some even index pairs : (0, 4) and (6, 8)
// Swap the elements in these indexes. i.e., element at 4<sup>th</sup> index goes to 0<sup>th</sup> etc.
// Final array:
[5, 2, 3, 4, -1, 6, 90, 80, 70, 100]
Минимальный балл выигрывает!
Бонус
- Умножьте свой окончательный результат на
[5, 2, 3, 4, -1, 6, 90, 80, 70, 100]
if you can handle a case where the array has gone through the step 2 in the transformation processN
раз (вместо 1), гдеN
is passed as the third parameter in input. - Обратите внимание, что при выполнении шага 2
X
times, pairs in each step are mutually exclusive, but pairs in different steps can have common indexes.
#код-гольф #код-вызов #код-вызов #поиск