gpt4 book ai didi

java - 每次我运行这个递归算法时,我的变量都设置为 0 如何解决它

转载 作者:行者123 更新时间:2023-12-02 07:45:00 25 4
gpt4 key购买 nike

我编写了一个算法来计算获得该数字所需的操作数量。但每次递归函数发生时,“temp”变量都会重置为0。

如何解决每次都不会重置并且包含计数值的问题?

public static int minOps(int x, int y) {
int temp = 0;
if (y <= x)
return temp;
if (y / 2 > x) {
temp++;
return minOps(x, y / 2);
} else {
minOps(x, y - 1);
temp++;
}
return temp;
}

最佳答案

通过完全消除 temp(您不需要它)。就像,

public static int minOps(int x, int y) {
if (y <= x) {
return 0;
}
if (y / 2 > x) {
return 1 + minOps(x, y / 2);
}
return 1 + minOps(x, y - 1);
}

并使用大括号,即使它们是可选的。

关于java - 每次我运行这个递归算法时,我的变量都设置为 0 如何解决它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083744/

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