Мне нужно написать метод, который принимает 2d массив 'int [] [] m' и значение 'val', и проверять, находится ли val в массиве со сложностью O (n), тогда как n определяется какчисло строк и m должны быть в квадрате
Массив, который может использоваться в качестве параметра для моего метода, должен возвращать true для этого метода:
(если он возвращает true, то массивв соответствии с запросом)
public static boolean test(int[][] m) {
int n = m.length;
for (int r = 0; r < (n - 1); r++)
for (int c = 0; c < n; c++)
for (int i = 0; i < n; i++)
if (m[r][c] > m[r + 1][i]) return false;
return true;
}
Этот массив возвращает TRUE:
int [][] arr3 = new int [][]{
{ 0, 2, 1, 2, 0, 5, 5, 5, },
{ 21, 21, 7, 7, 7, 21, 21, 21 ,},
{ 21, 21, 21, 21, 21, 21, 21 , 21, },
{ 21, 21, 23 , 42, 41, 23, 21, 21, },
{ 60 ,56, 57, 58, 53, 52, 47, 51 ,},
{ 61, 65, 70 , 72, 73, 78, 82, 98 ,},
{ 112, 121, 112, 134, 123, 100, 98, 111,},
{ 136, 136, 136, 134, 147, 150, 154, 134,},
};
Мой метод должен возвращать true, если val
находится в массиве и выглядит следующим образом:
public boolean findValTest(int [][] m, int val){...}