//1.找出简单的基线条件
//2.确定如何缩小问题规模,使其达到基线条件
//数组求和
const list1 = [1,2,3,4];
function sum(arr){
if(arr.length === 0) return 0; //base case
else if(arr.length === 1) return arr[0];//base case
else{ //recursive case
return arr[0] + sum(arr.slice(1,arr.length)); // 降低处理规模直至触发基线条件
}
}
//console.log(sum(list1))
//查找最大的数
function max(arr){
if(arr.length === 1){
return arr[0];
}else{
let item = max(arr.slice(1,arr.length));
return item > arr[0] ? item : arr[0]
}
}
let list2 = [1,2,5,4,3,2,0,-1,10]
console.log(max(list2))