在java中用递归写一个判断前几项是否有和相同的代码 public static boolean haveEqualSums(int[] input1, int[] input2) {
时间: 2024-05-20 20:16:32 浏览: 82
public static boolean haveEqualSums(int[] input1, int[] input2) {
// 如果输入长度不一致,直接返回false
if (input1.length != input2.length) {
return false;
}
// 调用递归函数判断前i项和是否相等
return haveEqualSumsHelper(input1, input2, 0, 0, 0);
}
private static boolean haveEqualSumsHelper(int[] input1, int[] input2, int i, int sum1, int sum2) {
// 如果已经遍历到数组末尾,判断两个和是否相等
if (i == input1.length) {
return sum1 == sum2;
}
// 递归调用,分别将当前元素加入到两个和中,判断后续部分是否有相等的和
return haveEqualSumsHelper(input1, input2, i+1, sum1+input1[i], sum2) ||
haveEqualSumsHelper(input1, input2, i+1, sum1, sum2+input2[i]);
}
阅读全文