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

**Question**

**Question**

Given two integers `dividend`

and `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 `8`

, and `-2.7335`

would be truncated to `-2`

.

Return *the quotient after dividing *

`dividend`

*by*

`divisor`

.**Note: **Assume we are dealing with an environment that could only store integers within the **32-bit** signed integer range: `[−2`

. For this problem, if the quotient is ^{31}, 2^{31} − 1]**strictly greater than** `2`

, then return ^{31} - 1`2`

, and if the quotient is ^{31} - 1**strictly less than** `-2`

, then return ^{31}`-2`

.^{31}

**Examples**

Input: dividend = 10, divisor = 3

Output: 3

Explanation: 10/3 = 3.33333.. which is truncated to 3.

Input: dividend = 7, divisor = -3

Output: -2

Explanation: 7/-3 = -2.33333.. which is truncated to -2.

**Constraints:**

`-2`

^{31}<= dividend, divisor <= 2^{31}- 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.

**Complete Solution**

```
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)
```

#### READ MORE

**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**