Skip to content

Commit 4e18c0c

Browse files
authored
Update Solution.py for 0029.Divide Two Integers
1 parent 8cd59d8 commit 4e18c0c

File tree

1 file changed

+26
-27
lines changed

1 file changed

+26
-27
lines changed
+26-27
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
1-
def divide(dividend, divisor):
2-
"""
3-
:type dividend: int
4-
:type divisor: int
5-
:rtype: int
6-
"""
1+
class Solution(object):
2+
def divide(self, dividend, divisor):
3+
"""
4+
:type dividend: int
5+
:type divisor: int
6+
:rtype: int
7+
"""
8+
if dividend == 0:
9+
return 0
10+
if divisor == 0:
11+
return 2 ** 31 - 1
712

13+
sign = (dividend < 0) ^ (divisor < 0)
814

9-
if dividend == 0:
10-
return 0
11-
if divisor == 0:
12-
return 2 ** 31 - 1
15+
quotient = 0
16+
dividend = abs(dividend)
17+
divisor = abs(divisor)
18+
while dividend >= divisor:
19+
tmp, i = divisor, 1
20+
while dividend >= tmp:
21+
dividend -= tmp
22+
quotient += i
23+
tmp <<= 1
24+
print('Value of temp: '+str(tmp))
25+
i <<= 1
26+
print('Value of i: '+str(i))
27+
quotient *= (-1) ** sign
1328

14-
sign = (dividend < 0) ^ (divisor < 0)
15-
16-
quotient = 0
17-
dividend = abs(dividend)
18-
divisor = abs(divisor)
19-
while dividend >= divisor:
20-
tmp, i = divisor, 1
21-
while dividend >= tmp:
22-
dividend -= tmp
23-
quotient += i
24-
tmp <<= 1
25-
print('Value of temp: '+str(tmp))
26-
i <<= 1
27-
print('Value of i: '+str(i))
28-
quotient *= (-1) ** sign
29-
30-
return min(max(quotient, - 2 ** 31), 2 ** 31 - 1)
29+
return min(max(quotient, - 2 ** 31), 2 ** 31 - 1)

0 commit comments

Comments
 (0)