gpt4 book ai didi

java - 理解java中点积的递归

转载 作者:行者123 更新时间:2023-12-01 17:57:01 25 4
gpt4 key购买 nike

有人能给我一些关于如何将此代码转换为递归的线索吗:

public class arrayExample {
public static void main (String[] args) {
int[] a = {2,2,2,2};
int[] b = {2,2,2,2};
int n = a.length;
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i] * b[i];
}
System.out.println(sum);
}
}

因此,要做到这一点,请使用递归进行乘积。

最佳答案

您要求提示,所以我不会给您完整的解决方案。当您想要递归处理列表(或数组)时,概念几乎总是:

public int recursiveFunction(List l, int carry) {
if (l.isEmpty()) {
return carry;
}
return recursiveFunction(l.subList(1, l.size()), operation(carry, l.get(0));
}

其中操作是您想要对列表执行的任何操作。 carry 用于提供初始值(在第一次调用中)并保存临时结果。

您只需更改代码,使其使用两个数组而不是一个列表,并选择正确的操作。

关于java - 理解java中点积的递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43965782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com