[LeetCode] 0371.2 つの整数の合計

2

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

中くらい

 


2 つの整数が与えられた場合 ある そして b、 戻る 演算子を使用しない 2 つの整数の合計 + そして -.

例 1:

入力: a = 1、b = 2
出力: 3

例 2:

入力: a = 2、b = 3
出力: 5

制約:

  • -1000 <= a、b <= 1000

パイソン

				
					# 時間計算量: O(1) # 空間計算量: O(1) クラス 解: def getSum(self, a: int, b: int) -> int: x, y = abs(a), abs(b) # x < y の場合、abs(a) >= abs(b) であることを確認します: return self.getSum(b, a) # abs(a) >= abs(b) --> # a は、a の場合、符号sign = 1 を決定します。 > 0 else -1 if a * b >= 0: 2 つの正の整数の # 合計 x + y # where x > y while y: 答え = x ^ y キャリー = (x & y) << 1 x, y = 答え、他をキャリー: 2 つの整数の # 差 x - y # ここで、x > y while y: 答え = x ^ y 借用 = ((~x) & y) << 1 x, y = 答え、借用 return x * 符号 a = 1 b = 2 print(Solution().getSum(a, b)) 速度 = [0, 0.5, 1, 1.5] 動き = 速度[1:3] print(動き)
				
			
ja日本語