java - 递归方法检查一行整数是否为降序 : return true/false

标签 java recursion

我必须用 Java 编写一个递归方法,如果一行是降序,则返回 true,否则返回 false。

这是我尝试过的,但它不能正常工作:

ArrayList<Integer> getallen = new ArrayList();
        getallen.add(500);
        getallen.add(400);
        getallen.add(300);
        getallen.add(200);
        getallen.add(100);
        getallen.add(0);

        System.out.println(isDescending(getallen));
    }

public static boolean isDescending(ArrayList<Integer> getallen) {
    if (getallen.size() >= 2) {
        if (getallen.get(0) < getallen.get(1)) {
            return false;
        } else if (getallen.size() > 0) {
            getallen.remove(0);
            return isDescending(getallen);
        } else {
            return true;
        }
    } else {
        return false;
    }
}

最佳答案

我认为你有不必要的情况,如果大小小于 2,你只能假设为真。

尝试:

public static boolean isDescending(ArrayList<Integer> getallen) {
    if (getallen.size() >= 2) {
        if (getallen.get(0) < getallen.get(1)) {
            return false;
        } else {
            getallen.remove(0);
            return isDescending(getallen);
        }
    } else {
        return true;
    }
}

关于java - 递归方法检查一行整数是否为降序 : return true/false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32540437/

相关文章:

java - onSensorChanged ,每 10 秒比较一次传感器数据

java - 递归地打印带有适当逗号的数字

java - 如何对自身进行递归回溯?

Python 在 for 循环中减少一个大列表以提高速度

java - 退出菜单创建

java - jsp中的动态按钮

java - 显示文本文件的第一行和最后一行?

java - 递归创建对象

algorithm - n个对象的等价性测试

java - 我如何找出哪个 JAR 应用程序未使用?