0    课程地址

https://coding.imooc.com/lesson/207.html#mid=13435

 

1    重点关注

1.1    代码草图

 

 

 

1.2    递归的宏观语义

核心:把问题转化为更小的问题

 

 

 

 

2    课程内容


3    Coding

3.1    数组求和 递归实现

  •  测试类:
package com.company;

public class Sum {

    /**
     * 用递归实现 数组求和
     * @author weidoudou
     * @date 2022/11/1 8:31
     * @param nums 请添加参数描述
     * @return int
     **/
    public static int sum(int[] nums){
        return sum(0,nums);
    }

    /**
     * 拆分 循环体
     * @author weidoudou
     * @date 2022/11/1 8:32
     * @param l 数组的索引
     * @param  nums 请添加参数描述
     * @return int
     **/
    private static int sum(int l,int[] nums){
        //1 基本问题
        if(nums.length==l){
            return 0;
        }

        //2 转化为更小的问题
        return nums[l]+sum((l+1),nums);
    }

    public static void main(String[] args) {
        int[] nums = {1,2,3,4,5,6};
        System.out.println(sum(nums));
    }

}

 

  • 测试结果:
21

Process finished with exit code 0

 

posted on 2022-11-01 09:51  菜鸟乙  阅读(18)  评论(0编辑  收藏  举报