所以我参加了一次工作面试,他们让我在白板上写下一个快速的数学幂方法,这就是我放在那里的
public static double pow(double base, double power) {
double result = 1.0;
for(double x = 0; x < power; x++) {
result = result * base;
}
return result;
}
这行得通,他们对此感到满意,但随后又问我如何才能使其更有效率,但我没有回应。所以我的问题是,你能比这更有效率吗?还是这只是一个让我有点汗水的问题?我在想可能有一些直接的位移解决方案,但我不确定,我认为这只适用于 2 的幂?有任何想法吗?
*编辑 对不起,我忘了提到方法签名是给我的(双打作为输入),我被告知我不能使用任何内置的数学库。