java - 如何解决这个递归函数难题?

标签 java arrays recursion

在一家公司面试的时候,面试官问了我这个问题。

假设我们有一个像这样的数组:

int[] arr = {2,12,14,-16,18,22,45};

他们告诉我编写一个函数来获取数组的总和。

那么如何通过使用函数在以下给定条件下获得该数组的总和:

条件1:我不能使用任何全局变量。意味着数组也在函数内部定义。

条件2:并且我必须使用递归函数。

应该用java编码。


我没有在这里发布代码,因为这个问题是在面试期间向我提出的,并且我无法找到该问题的解决方案。我在 stackoverflow 上找到了一些解决方案,但在这些解决方案中没有人在函数内定义数组。

最佳答案

做同样的事情,

int[] arr = {2,12,-6};

System.out.println(recur(arr, arr.length-1)); // output : 8

......

int recur(int arr[] , int lastindex){

        if(lastindex == 0 ){
            return arr[lastindex];
        }

        return arr[lastindex] + recur(arr, lastindex-1);

    }

关于java - 如何解决这个递归函数难题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36079063/

相关文章:

arrays - 使用字典的 Vlookup 替代方案

recursion - 将递归函数定义为迭代?

arrays - 打印变量时出现 lldb_expr 错误

java - 如何防止Hibernate Envers创建审计表?

java - 用于删除两个字符之间的子字符串的正则表达式

java - App Engine Datanucleus 不会增强抛出 : util. 端点。ListWrapper 具有应用程序身份

java - 给定一个整数数组,查找并递增具有Java中总数组最低总和的重复值?

javascript - 我如何将两个函数放在一起,两个函数内部都有递归

java - 在 Java 中实现递归

java - 保存时 HttpServletResponse 提示输入文件名