Как удалить строку в двумерном массиве и заменить ее новой строкой в ​​Java? - PullRequest
0 голосов
/ 29 октября 2019

Для моего назначения кодирования мне нужно изменить 2D-массив так, чтобы пара заменялась (n - 1) -м элементом списка. Предполагается, что пара - это массив из двух чисел, который появляется где-то в списке. Таким образом, когда этот метод будет выполнен, первые n - 1 элемент списка будут такими же, как первые n элементов старой версии, но с удаленной парой и с потенциально различным порядком элементов. Для создания метода remove, который удаляетданная пара из 2D массива.

Вот один из тестов

@Test
    public void removeRemovesPairFromEntireList() {
        int[][] list = { { 1, 2 }, { 3, 4 }, { 4, 3 }, { 5, 8 } };
        // Remove 3, 4 from the whole list
        Maze.remove(new int[] { 3, 4 }, list, list.length);
        assertEquals("[[1, 2], [5, 8], [4, 3], [5, 8]]", Arrays.deepToString(list));
    }

Репетитор, который помогал мне, сказал мне создать новый список, в который вы добавляете все пары, которые хотите сохранить, но я не знаюесли я на правильном пути или если есть гораздо более простой способ сделать это. Это то, что я имею до сих пор.

public static void remove(int[] pair, int[][] list, int n) {
        int[][] listNew = new int [n-1][2];
        for(int i=0;i<n-1;i++) {
            if (list[i][0] != pair[0] && list[i][1] != pair[1]) {
                listNew[i][0] = list[i][0];
                listNew[i][1] = list[i][1];
            } else {
                listNew[i][0] = list[n - 1][0];
                listNew[i][1] = list[n - 1][1];
            }
        }
    }

Помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...