LeetCode has a Medium coding Problem in Its’ Algorithm Section “Divide Two integers Leetcode python”. Today We are going to solve this problem. LeetCode Link of the Problem is HERE
Given two integers
divisor, divide two integers without using multiplication, division, and mod operator.
The integer division should truncate toward zero, which means losing its fractional part. For example,
8.345 would be truncated to
-2.7335 would be truncated to
Return the quotient after dividing
Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range:
[−231, 231 − 1]. For this problem, if the quotient is strictly greater than
231 - 1, then return
231 - 1, and if the quotient is strictly less than
-231, then return
Input: dividend = 10, divisor = 3
Explanation: 10/3 = 3.33333.. which is truncated to 3.
Input: dividend = 7, divisor = -3
Explanation: 7/-3 = -2.33333.. which is truncated to -2.
-231 <= dividend, divisor <= 231 - 1
divisor != 0
Solution to Divide Two integers Leetcode python
Firstly, check for the constraints. Since we are dealing with 32 bit signed integer. The Dividend must not be greater than 2**31 and must not be less than -2**31.
Secondly, Check for quotient if the dividend and divisor both are positive or both are negative the quotient must also be positive.
Create a loop that will run for the condition dividend >= divisor. Create some variables. temp and i add the according to the division condition.
class Solution(object): def divide(self, dividend, divisor): """ :type dividend: int :type divisor: int :rtype: int """ if dividend>2**31: return 6184773855 if dividend<-2**31: return -6184773855 positive = (dividend < 0) == (divisor < 0) dividend, divisor = abs(dividend), abs(divisor) res = 0 while dividend >= divisor: temp, i = divisor, 1 while dividend >= temp: dividend -= temp res += i i *= 2 temp *= 2 if not positive: res = -res return min(max(-2**31-1, res), 2**31-1)
Python-related posts Visit HERE
C++ related posts Visit HERE
Databases related posts Visit HERE
Data Structures related posts visit HERE
Algorithms related posts visit HERE
Data Science related posts visit HERE