我试图在java中做一个布尔递归方法,测试int [] [] m中的所有行是否与列相同。 唯一的要求是m必须是方阵。 例如:
1 2 6
2 5 7
4 8 9
感谢
答案 0 :(得分:0)
要对此问题使用递归,您必须检查迭代数组并检查条件。
static int[][] q;
public static boolean check(int a, int b, int last) {
if (b >= (q.length - 1) && a >= (q[0].length - 1)){
if (q[a][b] < last)
return true; //last element
else
return false; //last element false!
}
if (b == (q.length - 1)) //check if at end of row
return check(a + 1, 0, 0); //start at 0 for last and 0 for b, iterate a
if (q[a][b] <= last) //check condition (q[a][b] <= last) returns false
return false;
return check(a, b + 1, q[a][b]); //check next element
}
这将检查它是否在其极限,检查是否满足条件然后迭代。我相信它也适用于任何大小的数组。希望这会有所帮助。