1、递归基础
递归,一种源自数学的概念,在编程领域中熠熠生辉,它体现了一种解决问题的策略——通过将问题分解为其更小的部分来求解。设想一个迷宫,我们找到出路的关键不在于一次性走完整个迷宫,而是每次只关注下一步能否到达更接近出口的位置,直至最终抵达目标。这种自相似性和自我引用的特性正是递归的核心。
递归本质,是将原来问题,转化为更小的同一问题:
数组求和递归算法:
public class Sum {
public static int sum(int[] arr){
return sum(arr, 0);
}
// 计算arr[l...n)这个区间内所有数字的和
private static int sum(int[] arr, int l){
if(l == arr.length)
return 0;
return arr[l] + sum(arr, l + 1);
}
public static void main(String[] args) {