File tree 1 file changed +26
-27
lines changed
solution/0029.Divide Two Integers
1 file changed +26
-27
lines changed Original file line number Diff line number Diff line change 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
7
12
13
+ sign = (dividend < 0 ) ^ (divisor < 0 )
8
14
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
13
28
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 )
You can’t perform that action at this time.
0 commit comments