Учитывая отсортированный массив, я считаю, что можно создать уравнение для определения индекса, в который будет вставлено любое заданное число.
Например, с учетом отсортированного массива [-1, 0, 1], есть таблица ввода / вывода для моей желаемой функции, например:
x | f(x)
----------
-2 | 0
-1.5| 0
-1 | 0, 1
-0.5| 1
0 | 1, 2
0.5| 2
1 | 2, 3
1.5| 3
2 | 3
Я решил использовать x в качестве числа, которое я хочу вставить в массив, и функция будет выводить индексы, которые функция вставки могла бы использовать для вставки x в отсортированный массив.
Меня интересует то, что, учитывая это упрощение проблемы, я замечаю две вещи:
- Выходные данные функции должны быть целыми числами
- В некоторых случаях функция может возвращать 2 разных значения
И здесь я оставляю свои мысли тем, у кого больше опыта, чем у меня ...
Моя первая мысль - что результат напоминает мне о картировании Карно. Существует два значения, которые могут быть получены в случаях, но не имеет значения, какой результат выбран.
Моя вторая мысль связана с квантовыми вычислениями. Я недостаточно опытен, чтобы быть конкретным, но если два функциональных выхода могут быть сопоставлены с кубитом и обработаны квантово, какие возможности это дает в таком контексте? Может ли квантовый компьютер помочь получить эту формулу, которую я ищу?
Мой пример очень прост, но я просто хотел поделиться этим здесь на случай, если кому-то будет интересно.