Проблема:
У меня есть два массива A
и B
:
A = [0, 1, 2, 3]; %A will always be from 0 to N where N in this case is 3.
B = [0, 1, 3, 1, 9, 4, 6, 2, 5, 9, 10, 11, 3, 8, 1, 5, 9, 10];
weights_B = [3, 4, 5, 6];
Я хочу сравнить первый элемент A
с первыми 3
элементами B
, а второй элемент A
со следующими 4
элементами B
. Если элементы A
равны, я удаляю его из B
. Итак, в примере:
if (A(1) == B(1:3))
remove A(1) from B
Сходным образом,
Я хочу сравнить A(2)
со следующими 4
элементами B
, то есть с B(4:7)
:
if (A(2) == B(4:7))
remove A(2) from B
Я хочу сравнить A(3)
со следующими 5
элементами B
, то есть с B(8:12)
if (A(3) == B(8:12))
remove A(3) from B
Я хочу сравнить A(4)
со следующими 6
элементами B
, то есть с B(13:18)
if (A(4) == B(13:18))
remove A(4) from B
Примечание. Массив weights_B
определяет количество элементов в B
, которые должны соответственно сравниваться с A(1), A(2), .. , A(4)
.
Таким образом, в конце B
должны быть следующие элементы:
B = [1, 3, 9, 4, 6, 5, 9, 10, 11, 8, 1, 5, 9, 10];
Необходимое решение:
Есть ли способ сделать это без жесткого кодирования индексов?