好的,所以我有一个任务来确定一只猴子爬 x 高度的杆子需要多长时间。如果在 10 分钟内上升 10 英尺,在休息时在 10 分钟内滑落 3 英尺。当它到达杆子的顶部时,它会停下来,并以每分钟一英尺的速度爬升。这使用递归,到目前为止我的方法是正确的,但是我遇到了堆栈溢出,我不知道如何避免它,所以我吓坏了,知道吗?
多谢你们
public static long climb(long height, long time) { //Recursive method
if (height <= 0) //base case
return time;
/*Every 10 min add 3 to height (notice im doing it backwards,
instead of substracting 3.
I find it easier to deal with this way and easier to implement the base case) *//
else if (time != 0 && time % 10 == 0) {
return climb(height+3, time+10);
}
else {
return climb(height-1, time+1);
} } }