Предположим, что у нас есть несколько массивов целых чисел. Вы можете рассматривать каждый массив как уровень. Мы пытаемся найти последовательность элементов, ровно один элемент из каждого массива, и переходим к следующему массиву с одним и тем же предикатом. Например, мы имеем v1, v2, v3
как массивы:Какое элегантное решение существует для этого шаблона? Многоуровневый поиск
v1 | v2 | v3
-----------------
1 | 4 | 16
2 | 5 | 81
3 | 16 | 100
4 | 64 | 121
Я мог бы сказать, что предикат: next_element == previous_element^2
Действительная последовательность из приведенного выше примера: 2 -> 4 -> 16
На самом деле, в этом примере нет другого действительная последовательность. Я мог бы написать три петли для перебора приведенного примера, , но что, если количество массивов является переменным, но с уверенностью, конечно, как бы вы решили эту проблему?
Подсказки или ссылки на дизайн-паттерны очень ценятся. Я сделаю это на C++, но мне просто нужна эта идея.
Спасибо,
Вам нужен _algorithm_, а не _pattern_. Который будет решением проблемы _. – ima
Здесь проблема: кажется, что вы предикат может быть произвольно сложным и, таким образом, работать с 1 до N массивов сразу ... Трудно думать о решении, которое может работать на все это. –
Кроме того, существует ли возможность дублирования, и если да, то как вы их обрабатываете (вы хотите 1 решение для каждого дубликата или предпочитаете только одно решение для партии?) –