首页新闻找找看学习计划

Java数组求和 用递归

0
[待解决问题]

Java数组递归求和       说一下思路,带源代码,谢谢

代码洁癖爱好者的主页 代码洁癖爱好者 | 初学一级 | 园豆:190
提问于:2015-10-28 22:25
< >
分享
所有回答(1)
0
 1 /**
 2  * @author: kischn
 3  * @date: 2015/10/28.
 4  */
 5 public class ArrayTest {
 6 
 7     /**
 8      * 递归求和
 9      * @param i
10      * @param arr
11      * @return
12      */
13     public static int sum(int i, int[] arr){
14         if(i < arr.length - 1)//返回当前的值 + 剩下的那一部分所有的和
15             return arr[i] + sum(i+1, arr);
16         else return arr[i];//只有一个了,所以只需要返回当前的
17     }
18 
19     public static void main(String[] args) {
20         int[] arr = { 1,2,3,4,5};
21         System.out.println(sum(0, arr));
22         /**
23          * 上面的递归一层层展开后大体是这样的:
24          *
25          * arr[0] + sum(1,arr)
26          * arr[0] + arr[1] + sum(2,arr)
27          * arr[0] + arr[1] + arr[2] + sum(3, arr)
28          * arr[0] + arr[1] + arr[2] + arr[3] + sum(4, arr)
29          * arr[0] + arr[1] + arr[2] + arr[3] + arr[4] = 15
30          */
31     }
32     //output: 15
33 }
之奇一昂 | 园豆:1421 (小虾三级) | 2015-10-29 00:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册