【算法专题】使用递归取数组的平均值(向下取整)
2023-09-11 14:21:23 时间
基本思想是,当索引达到递归函数中数组的长度时。因此,您所要做的就是将数组中每个索引点的总和相加,然后继续将更新后的索引和总和传递给递归函数。
class Test {
public static void main(String[] args) {
int newClassSize[] = {10,2,3}; // User Input let say
double average = findAverage(newClassSize);
System.out.println(average);
}
public static double findAverage(int[] arr){
// 避免除以零错误
if (arr.length==0){
return 0;
}
return findAverageHelper(arr,0,0);
}
public static double findAverageHelper(int[] arr, int index,int sum){
if (index==arr.length){
return sum/arr.length;
}
// 增加索引并在索引处添加当前值以求和
return findAverageHelper(arr,index+1,sum+=arr[index]);
}
}
相关文章
- Java实现 蓝桥杯 算法提高 数组求和
- Java实现 蓝桥杯VIP 算法提高 递归倒置字符数组
- Java实现 蓝桥杯VIP 算法提高 递归倒置字符数组
- Java实现 蓝桥杯VIP 算法提高 阮小二买彩票
- Java实现 蓝桥杯VIP 算法提高 3000米排名预测
- Java实现 蓝桥杯VIP 算法训练 数组查找及替换问题
- Java实现 蓝桥杯 算法训练 动态数组使用
- Java实现 蓝桥杯 算法训练 寻找数组中最大值
- Social Media排序算法的四种模式
- 简单易学的机器学习算法—SVD奇异值分解
- 算法练习之x的平方根,爬楼梯,删除排序链表中的重复元素, 合并两个有序数组
- (算法)和为0的最大连续子数组
- flink 实现ConnectedComponents 连通分量,增量迭代算法(Delta Iteration)实现详解
- ML之CatBoost:CatBoost算法的简介、安装、案例应用之详细攻略
- ML之回归预测:利用多个算法模型(LassoR、KernelRidgeR、ElasticNetR、GBR、LGBMR、XGBR)对国内某平台上海2020年6月份房价数据集【12+1】进行回归预测
- CSDN蓝桥杯算法题——题解Java版本——切面条
- leetcode算法第四题
- 1671. 得到山形数组的最少删除次数-c语言dp算法加前序后序遍历求解-双百代码
- 数据结构——算法之(010)( 字符串的左旋转操作)
- 算法设计--在数组中找求和最大的连续子串
- 基于64QAM调制解调的LDPC编译码算法误码率matlab仿真