题目描述
blablabla
样例
blablabla
算法1
(位运算) $O(1)$
贴几张图:
半加器
全加器
&运算:
0 & 0 = 0
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
^运算:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
<<运算:
1 << 1 = 10
1 << 2 = 100
1 << 3 = 1000
1 << 4 = 10000
C++ 代码
class Solution {
public:
int add(int a, int b){
while (b)
{
int s = a ^ b, c = (a & b) << 1;
a = s, b = c;
}
return a;
}
};
算法2
() $O(1)$
我发现这道题可以用加法
C++ 代码
class Solution {
public:
int add(int a, int b){
return a + b;
}
};