Как я могу найти наиболее частый элемент в 2d массиве?вам не разрешено использовать ничего, кроме 2d массива - PullRequest
0 голосов
/ 26 сентября 2019

int element = array [0] [0];int count = 0;

    for (int row = 0; row < array.length; row++) {
        for (int col = 0; col < array[0].length; col++) {

            int tempElement = array[row][col];
            int tempCount = 0;

                for (int x = 0;  x< array.length;x++){
                    for(int y=0; y<array[x].length;y++){

                        if(array[x][y] == tempElement){

                            tempCount++;
                        }

                        if(tempCount > count) {

                            element = tempElement;
                            count = tempCount;

                        }


                    }


                }

        }

    }

    System.out.println("The most common height in the terrain is " + element + " it occurs " + count + " times");

это то, что я пробовал до сих пор

Я дал 1 миллион элементов набора данных в массиве 2d, и мне нужно найти наиболее частый элементиз этого набора данных с использованием Java мы можем использовать только массивы

1 Ответ

0 голосов
/ 26 сентября 2019

Я бы сгладил массив, а затем отсортировал его.Затем вы можете бегать по массиву, считая элементы и проверяя ваш счет каждый раз, когда значение изменяется.

int [][] arr = { {1, 2}, {3, 4}, {5, 5}, {1, 3}, {1, 2}};
int [] flatArray = Arrays.stream(arr).flatMapToInt(Arrays::stream).sorted().toArray();
int previousValue = -1;
int findCounter = 0;
int maxFindCounter = -1;
int maxValueFound = -1;
for(int i = 0; i < flatArray.length; i++) {
  if(previousValue != flatArray[i]) {
    if(findCounter > maxFindCounter) {
      maxFindCounter = findCounter;
      maxValueFound = previousValue;
    }
    findCounter = 0;
  }
  previousValue = flatArray[i];
  findCounter ++;
}
System.out.println(maxValueFound + " : " + maxFindCounter);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...