[LeetCode] 0371. 두 정수의 합

2

Python, C++, JavaScript, SQL 및 TypeScript의 다양한 LeetCode 솔루션을 살펴보세요. 여러 프로그래밍 언어로 인터뷰 준비, 학습 및 코드 연습에 적합합니다. Github 레포 링크

중간

 


두 개의 정수가 주어지면 에이 그리고 , 반품 연산자를 사용하지 않고 두 정수의 합 + 그리고 -.

예시 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: # 두 양의 정수의 합 x + y # 여기서 x > y while y: 답변 = x ^ y 캐리 = (x & y) << 1 x, y = 답변 , carry else: # 두 정수 x - y의 차이 # 여기서 x > y while y: 대답 = x ^ y 빌림 = ((~x) & y) << 1 x, y = 대답, 빌림 반환 x * 서명 a = 1 b = 2 print(Solution().getSum(a, b)) 속도 = [0, 0.5, 1, 1.5] 이동 = 속도[1:3] print(이동)
				
			
ko_KR한국어