2 次元配列 'int [][] m' と値 'val' を受け取るメソッドを作成し、val がO(n) の複雑さで配列内にあるかどうかを確認する必要がありますが、n は行数として定義され、m は 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,},
};
valが配列内にあり、次のようになっている場合、私のメソッドは true を返す必要があります。
public boolean findValTest(int [][] m, int val){...}