gpt4 book ai didi

java - 在递归方法中重置计数器

转载 作者:行者123 更新时间:2023-12-01 19:46:36 26 4
gpt4 key购买 nike

我正在尝试编写一个递归方法,该方法为我提供数组中整数(邻居)的最大和对。它工作完美,但仅适用于第一次运行,因为我无法重置我用来检查当前总和是否大于先前运行的最大总和的 static int maxSum; “计数器”。也许你可以给我一个提示,这是我第一次在递归中使用静态计数器

static int maxSum = 0;
private static int getMaxPairSum(int[] workArray, int start, int end) {

while(start < end){
if (workArray[start] + workArray[start+1] > maxSum){
maxSum = workArray[start] + workArray[start+1];
return getMaxPairSum(workArray,start +1,end);
}
else return getMaxPairSum(workArray,start +1,end);
}
return maxSum;
}

最佳答案

一个非常简单的方法可以是:

  • 创建临时变量
  • maxSum 的值赋给变量
  • 重置maxSum
  • 返回临时变量

会是这样的:

while(start < end){
if (workArray[start] + workArray[start+1] > maxSum){
maxSum = workArray[start] + workArray[start+1];
return getMaxPairSum(workArray,start +1,end);
}
else return getMaxPairSum(workArray,start +1,end);
}

int tempMaxSum = maxSum;
maxSum = 0;
return tempMaxSum;

希望这有帮助!

关于java - 在递归方法中重置计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59118703/

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