Предположим, что мы имеем ниже списков:Найти Same шаблоны в списках
List<int> Journey1 = new List<int>() { 1, 2, 3, 4, 5 };
List<int> Journey2 = new List<int>() { 2, 3, 4, 6, 7, 3, 4 };
List<int> Journey3 = new List<int>() { 6, 7, 1 };
List<int> Journey4 = new List<int>() { 3, 1, 4 };
И узоры:
2, 3, 4 -> Journey1, Journey2;
6, 7 -> Journey2, Journey3;
1 -> Journey2, Journey3, Journey4;
5 -> Journey1;
3, 4 -> Journey2;
3 -> Journey4;
4 -> Journey4;
Мы имеем 5000 списков, и каждый из них имеет около 200 пунктов, так что образцы могут иметь между 1-200 элементами и можно увидеть в списках 1-5000.
Поэтому мне нужен очень быстрый способ сопоставления рисунка.
Можете ли вы объяснить правила? Например. Почему это не '3 -> Journey1, Journey2, Journey4' – Blorgbeard
О, шаблоны (последовательность) => (список списков для поиска)? – Blorgbeard
нам нужно найти узоры от самого длинного до кратчайшего, поэтому сначала я выбрал 2,3,4, который является самым длинным, который видел в более чем одном путешествии. – Behnam