作者:大大炮 | 来源:互联网 | 2023-02-01 16:43
这段代码的大O是什么?我知道所有的行都是O(1),除了递归部分.我不确定递归的大O是什么,我感觉它仍然是O(1),因为我们没有比O(1)差的行,但通常递归是O(n).
码:
public int getSum(int a, int b) {
if (b == 0){
return a;
}
if (a == 0){
return b;
}
int add = a ^ b;
int carry = (a&b) <<1;
return getSum(add, carry);
}
编辑:顺便说一下,这不是作业,而是为面试做好准备.