Для
getAllFriendsAndPotentialFriends(4, 2);
вывод
[0, 1, 2, 3, 5, 6, 7]
а в условии предполагается, что должно быть
// Expected: [0, 1, 2, 3, 5, 7]
Ану-ка проверим: Наша матрица:
{true},                                                                 //0
{true, true},                                                           //1
{false, true, true},                                                    //2
{false, false, false, true},                                            //3
{true, true, false, true, true},                                        //4
{true, false, true, false, false, true},                                //5
{false, false, false, false, false, true, true},                        //6
{false, false, false, true, false, false, false, true}                 //7
Индекс 4 дружит с: 0, 1, 3 - нулевой уровень. На первом уровне: индекс 0 дружит с: 1, 4, 5. ... На втором уровне индекс 5 дружит с 6. Так почему же в список не должен попасть индекс 6?