Одна из частей алгоритма поиска, который мне нужно разработать, состоит из функции, которая получает список целых чисел и возвращает список списков целых чисел на основе некоторых правил, здесь приведены спецификации.
Список ввода может иметь любое количество чисел, варьирующихся от минимального и максимального предварительно определенных значений.Функция должна возвращать все возможные комбинации входных чисел, которые являются последовательными и имеют размер 3 или больше.
Порядок групп выходных данных не важен.
Например:
min = 1;
max = 10;
input = [1, 2, 3, 4, 6, 7, 8]
output = [ [1, 2, 3], [2, 3, 4], [1, 2, 3, 4], [6, 7, 8] ]
Хитрость заключается в том, что список ввода может принимать любое количество символов джокера.Эти джокеры могут принимать любое значение в пределах минимального и максимального значений.
Пример использования джокеров:
min = 1;
max = 10;
input = [1, 2, 3, 4, 6, 7, 8, J]
output = [
[1, 2, 3],
[2, 3, 4],
[1, 2, 3, 4],
[6, 7, 8],
[1, 2, 3, 4, J, 6, 7, 8],
[2, 3, 4, J, 6, 7, 8],
[3, 4, J, 6, 7, 8],
[4, J, 6, 7, 8],
[J, 6, 7, 8],
[6, 7, 8, J],
[7, 8, J],
[1, 2, 3, 4, J, 6, 7],
[1, 2, 3, 4, J, 6],
[1, 2, 3, 4, J, 6],
[1, 2, 3, 4, J]
]
При работе с любым возможным количеством джокеров на входе я не могу придумать никакогоАлгоритм, который может решить эту проблему.
Есть ли какие-либо предложения или псевдокод, которыми вы могли бы поделиться, чтобы помочь мне с этой проблемой?