leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

commit 8f4256dd97fe3ad442443201a9b893de80859c96
parent c4dfb6db4f4375729b28bd39fc90cb385b482b3d
Author: Jack Sangdahl <jack@pngu.org>
Date:   Mon, 10 Mar 2025 18:40:27 -0600

371. sum of two integers

Diffstat:
Asum_two_integers.c | 22++++++++++++++++++++++
Asum_two_integers.py | 23+++++++++++++++++++++++
2 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/sum_two_integers.c b/sum_two_integers.c @@ -0,0 +1,22 @@ +// 371. Sum of Two Integers +#include "leetcode.h" + +/* + * given two integers 'a' and 'b', return the sum of the two integers without + * using the operators '+' and '-'. + */ + +int getSum(int a, int b) { + int trigger = a & b, ans = a ^ b; + while (trigger) { + int carry = (trigger & 0xFFFFFFFF) << 1; + trigger = carry & ans; + ans ^= carry; + } + return ans; +} + +int main() { + printf("%d\n", getSum(1, 2)); // expect: 3 + printf("%d\n", getSum(2, 3)); // expect: 5 +} diff --git a/sum_two_integers.py b/sum_two_integers.py @@ -0,0 +1,23 @@ +# 371. Sum of Two Integers + +""" +given two integers 'a' and 'b', return the sum of the two integers without +using the operators '+' and '-'. +""" + + +class Solution(object): + def getSum(self, a, b): + """ + :type a: int + :type b: int + :rtype: int + """ + ab = [a, b] + return sum(ab) + + +if __name__ == "__main__": + obj = Solution() + print(obj.getSum(a=1, b=2)) + print(obj.getSum(a=2, b=3))