Найти все пары частых наборов элементов, которые отличаются только последним элементом

Я пытаюсь реализовать алгоритм apriori, и у меня возникают проблемы при написании метода для создания наборов кандидатов. Вот скриншот этой функции.

Основная проблема - строки 2-5. Я не знаю, как получить f1 и f2. f1 и f2 - это массивы, которые отличаются по последнему элементу, и последний элемент из f1 меньше, чем последний элемент из f2.

У кого-нибудь есть идея, как написать это на Ruby?

1 ответ

f1 = [1,2,3]
f2 = [1,2,4]
z = [f1,f2].transpose

if(((z[0...(z.size-1)].collect {|el| el[0] == el[1]}.uniq == [true])) & (z[z.size-1][0] < z[z.size-1][1])) do

# f1 = f2 , except the last element, where the last f1 element is smaller than the last f2 element

end
Другие вопросы по тегам