微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

NIce子序列-最长递增子序列的变体

如何解决NIce子序列-最长递增子序列的变体

如果对于所有i> 2,如果X [i]> X [i-2],则子序列X [1..k]很好。计算整数A [1]的任意数组的最长子序列。 ..n]。
由于没有提供示例,我对此问题陈述有些困惑。

我举了一个示例数组:A = {1,2,3,4,2,-1,7,9}。
我以迭代的方式对元素进行了比较:3> 1,在输出数组中包含3。 4> 2,包括4,依此类推。

从对这个问题的理解中,我得出了这个尼斯子序列:{3,9}。 如果子序列包含元素1和2,我会感到困惑,因为我认为{1,9}也是有效的。我需要清除这种混乱。
我们非常感谢您的帮助。
下面是我写的Java代码

public static int niceSub(int[] input) {
        int n = input.length;
        int i,j;
        int[] X = new int[n];

        for (i = 0; i < n; i++) {
            X[i] = 0;
        }
        ArrayList<Integer> answer = new ArrayList<>();
        int[] A = new int[n + 1];
        A[0] = 0;
        for (i = 1; i <= n; i++) {
            A[i] = input[i - 1];
        }
        for (i = 3; i < A.length; i++) {
            for (j = i - 2; j <= i - 2; j++) {
                if (A[i] > A[j]) {
                    answer.add(A[i]);
                }
            }
        }
        System.out.println(answer);
        // System.out.println(Arrays.toString(X));
        return answer.size();
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。