用于检查行和列中的顺序的递归布尔方法

时间:2015-03-12 22:34:26

标签: java

我试图在java中做一个布尔递归方法,测试int [] [] m中的所有行是否与列相同。 唯一的要求是m必须是方阵。 例如:

1 2 6

2 5 7

4 8 9

感谢

1 个答案:

答案 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
}

这将检查它是否在其极限,检查是否满足条件然后迭代。我相信它也适用于任何大小的数组。希望这会有所帮助。