在求职面试中,我被问到上述问题/任务。
有没有办法在溢出发生前停止系列?
起初它对我来说似乎很奇怪,我无法看到某人可以预测的方式
什么时候发生,但后来我的想法是检查当前
值< Integer.MAX_VALUE的。
你怎么看?任何人都可以建议解决我的问题吗?先谢谢。
答案 0 :(得分:0)
为Fibonacci系列编写逻辑并在存储值之前添加条件,该值将使用
检查空闲内存Runtime.getRuntime().freeMemory();
一旦空闲内存达到零,就会打破循环。 这应该可以解决您的问题
答案 1 :(得分:0)
我认为这是一个更为理论化的问题,而非实际解决方案。
让我们将Fib方法定义为:
public static int fib(n){
if (n<=2)
return 1;
return fib(n-1) + fib(n-2);
现在通过调用fib来代替n = 100,可以在堆栈中解析流异常。 如果我们如何简化堆栈的工作方式,我们实际上可以要求函数检查&#34;空间&#34;如果它等于0,则留在堆栈中并保持其值。
希望它有所帮助!