Java递归 - 最常见的“子阵列”

时间:2017-05-13 10:27:29

标签: java recursion

与findet相比,Strings中最长的常见子序列我不能像使用字符串一样简单地添加数组,这使我的问题更加困难。

标有*的代码说明了我想要实现的目标。

这是否可以在不使用其他依赖项的情况下实现?

static long[] lgs(long[] x, long[] y) {

    if ((x.length == 0 || y.length == 0)) {
        return new long[] {};
    }

    else if (x[x.length-1] == y[y.length -1]) {
        System.out.println(x[x.length-1]);
        return *x[x.length -1] +* lgs(Arrays.copyOf(x, x.length -1), Arrays.copyOf(y, x.length-1));
    }

    else {
        long[] s1 = lgs(Arrays.copyOf(x, x.length -1), y);
        long[] s2 = lgs(x, Arrays.copyOf(y, y.length-1));
        return (x.length > y.length) ? s1 : s2;
    }
}

0 个答案:

没有答案